find process size script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting find process size script
# 8  
Old 08-06-2008
Quote:
Originally Posted by buffoonix
If the script you came up with is working for you
then it's quite ok.
But because you asked maybe just some suggestions
(although this is probably only a matter of personal taste)

I think here you mixed up single quotes (embracing the whole ps command)
with backticks.
Though it may look daft it is quite ok to have nested backticks.
Nevertheless, I am not particularly fond of backticks because they have become obsolete in modern posix shells,
and thus their use is deprecated.
With bash, ksh, zsh, hp-ux sh etc. you should use $(...) instead.
So this would be how I would rewrite it
Code:
if (( $a < $(ps -p $(pgrep SpectroSERVER) -o rss=)) )); then

But this is still quite ugly.
With all those pairs of parens one easily could lose counting the closing ones.
So better split it up into several statements.
Also, what if the inner cmd expansion of pgrep fails?
Also, as you are going to calculate with these vars
you should better declare them as integers.
Also better use meaningful, imaginative variable names
Maybe one could rewrite it this way?
Code:
declare -i RSS_THRESHOLD=3942400
spectro_pid=$(pgrep SpectroSERVER)  # does its cmd name really appear in mixed case in the proc table?
[[ -z $spectro_pid ]] && exit 1
declare -i spectro_rss=$(ps -p $spectro_pid -o rss=)
if (( RSS_THRESHOLD < spectro_pid )); then

On the other hand you could parse the RSS in one proc table lookup like so
Code:
spectro_name=SpectroServer
set -- $(ps -e -o pid,ppid,rss,comm|awk -v pn=$spectro_name '$4~pn&&$2==1{print$1,$3}')
declare -i spectro_pid=$1 spectro_rss=$2

Yet another variant was to retrieve the RSS from the procfs like
Code:
spectro_rss=$(awk '$1~/^VmRSS:/{print$2}' $(printf /proc/%lu/status $(pgrep -P1 $spectro_name)))

These shall only serve as examples that there is more than one way to do it
(viz. TIMTOWTDI, spoken "timtowdy" as the Perl hailers use to say)

It's not clear to me how this should work
since it ought to produce a syntax error
though I think I can gather what the intension is;
viz. tail on the log until a certain expression appears
and then assign this line to variable b, right?

yes i am doing a tail on a log file until certain expression appears then assign it to variable b
then if variable b = this certain expression do next command and so
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

By pass a process in a Shell Script on file size

I wish to by pass a process if the file is over a certain size? not sure this makes sense current bit of the script below #if we are bypAssing the OCR if ; then echo Bypassing HOTFOLDER OCR HOT_FOLDER_DIR=$BATCH_POST_OCR_DIR; potential change below? would this work would I need... (1 Reply)
Discussion started by: worky
1 Replies

2. Shell Programming and Scripting

Shell script to report file size, pid and also kill the process

Hi All, Looking for a quick LINUX shell script which can continuously monitors the flle size, report the process which is creating a file greater than certain limit and also kill that process. Can someone please help me on this? (4 Replies)
Discussion started by: vasavimacherla
4 Replies

3. Shell Programming and Scripting

Shell script to find size of subdirectories

Hi I have to find size of subdirectory and automate it in CRON. Eg: parent directory name is NVBKP inside it there are several subdirectories I want to get the size of recent two subdirectories. I have tried ls -ltr diretory path | tail -2 But it is providing only size of the folder not... (8 Replies)
Discussion started by: ankit2012
8 Replies

4. Programming

Find Virtual address space size for process

Hi, I am looking to work on unix systems which include (hp-ux, ibm aix, solaris and linux). I want to get the total virtual address space of a process, the used virtual memory i am able to get without any problem. I have tried using getrlimit and getrlimit64, but that gives only ... (4 Replies)
Discussion started by: uiqbal
4 Replies

5. Shell Programming and Scripting

Shell Script to find the tablespace size in oracle.

Hi, I need to execute a script to find the tablespace size in oracle.But i get an error.:confused: Script Executed:- #!/bin/ksh ORACLE_SID= oracelinstance ORACLE_HOME= oracle path PATH=$ORACLE_HOME/bin export ORACLE_SID ORACLE_HOME PATH sqlplus... (4 Replies)
Discussion started by: vighna
4 Replies

6. Shell Programming and Scripting

Command/script to find size of Unix Box ?

Please could anyone provide me the Command/script to find the size and usage of Unix box ASAP ? (6 Replies)
Discussion started by: sakthifire
6 Replies

7. UNIX for Dummies Questions & Answers

shell script to find files by date and size

Hi, I have a directory PRIVATE in which I have several directories and each of these have several files. Therefore, I need to find those files by size and date to back up those files in another directory. I don't know how to implement this shell script using ''find''. appreciate any... (1 Reply)
Discussion started by: dadadc
1 Replies

8. Shell Programming and Scripting

Shell script to Find file size

Hi, I am writing a script which takes the input file name and concat as a new file by appending a "1" to the file name. However i am not able to get the size of this new file. I am not sure where i am going wrong. Please check the script and help me get this working. #!/bin/sh ... (1 Reply)
Discussion started by: ragsnovel
1 Replies

9. Programming

How to find out the stack size occupied for a process?

Hi, In Linux how to find out what will be the stack size allocated for a process? Actually i have to fork n number of processess, and will call exec. I will be execing an executable which is already multithreaded and each thread size is defined. My doubt is how to know if the size of the... (2 Replies)
Discussion started by: rvan
2 Replies

10. UNIX for Dummies Questions & Answers

How to find the size of Process Address space.

Hello, Please help me to know, How to find out the how much amount of process addres space is required/is used for/by a process. Tnx & Regards Vishwa. (1 Reply)
Discussion started by: S.Vishwanath
1 Replies
Login or Register to Ask a Question