Re: Unable to execute a script , Permission denied

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Tue, May 25, 2010 at 9:42 AM, Les Mikesell <lesmikesell@xxxxxxxxx> wrote:
> Bowie Bailey wrote:
>> Jatin Davey wrote:
>>> Here is the script that i am trying to execute as a non-root user:
>>>
>>> #!/bin/sh
>>> ps -C java -o thcount > /home/proc_threads/tempfile
>>> awk ' { total += $1 } END { print total } ' /home/proc_threads/tempfile
>>>
>>> here is the output when i try to execute as a non-root user:
>>>
>>> ./javathreads: line 2: /home/proc_threads/tempfile: Permission denied
>>> awk: cmd. line:1: fatal: cannot open file
>>> `/home/proc_threads/tempfile' for reading (Permission denied)
>>
>> The script is running, but the 'awk' line is failing to read
>> /home/proc_threads/tempfile.  What are the permissions on that file and
>> directory?
>>
>>
>>     $ ls -ld /home/proc_threads
>>
>>     $ ls -l /home/proc_threads/tempfile
>>
>
> Unless you have some other use for the contents of tempfile, you could use a
> pipeline instead to avoid any permissions issue.

If you don't mind, I would like to see the pipeline equivalent. :)

I used an array in a similar situation, (to avoid creating tmp file)
 but maybe that does not scale?
For this case, maybe something like this? ...

#!/bin/sh
OLD=$IFS
IFS=$'\n' R_PS=($(ps -C java -o thcount))
IFS=$OLD
# R_PS is now an array, each element is one line of the ps output

for (( i = 0; i < ${#R_PS[@]}; i++ )) ; do
   # Sum the desired arguments
done
echo $total


-Bob
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos



[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux