Bash: how to do it?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Bash: how to do it?
# 1  
Old 10-31-2007
Bash: how to do it?

Hi

My problem is that i need to measure given command statistics (time, mem, etc) with shell script
My script must basically do two things:
1. Measure overall command statistics (it is total time, maximum memory use during runtime, etc)
2. Measure command statistics in given periods of time during it's run (once a x seconds)
Then i have few questions:
1. what is the best method for checking command statistics during runtime (for example ps returns process time in seconds, but i need better resolution (are jeffes realible))
2. How to make gathering data during run and after that possible. my idea is that i test given command overall statistics with time command, and use some other command to test statistics during its runtime, but...
how to detect that command finished?
let's say that i use time for overall statistics, i have to do something like that
[time given_command...] &
part_of_script_testing_given_command_during_runtime
how to get pid of [time given_command...] in the main script?

and if you know some examples of such script, can you give some links?

if you know please help thx
Charles
# 2  
Old 11-01-2007
You can get the pid of "time command" by grepping for "command" name, for example : "time cat" ; "pgrep cat" - this will return the PID of cat. Disadvantage : if you have multiple cat command, "pgrep" will return all of them.
Code:
for i in `seq 1 100`; do time ps -ef >> logfile.log; sleep 2; done

this will output the return of time command on STDOUT every two seconds, while storing the output of the actuall command in logfile.
Also, if your distro has it, take a look at the options of "usr/bin/time" - this is kinda different than the "time" command.
For the other things that you're asking, can you please provide some examples ?
# 3  
Old 11-01-2007
hm... there is problem about /usr/bin/time. It doesn't return maximum resident set size, which i need too (it always return 0 instead). Is there a way to get maximum resident set size of a process that has finished?

also this:
Code:
for i in `seq 1 100`; do time ps -ef >> logfile.log; sleep 2; done

isn't exactly what i wast thinking about. what i aim is something like that:

Code:
time -o "logfile.txt" -f "parameters i want" my_given_command &
childpid=$!
for i in 'seq 1 100' do; gether_and_write_childpid_statistics; sleep 1; done;
write_statistics_from_time_command

But the problem with it is that:
1. i would like to know if childpid has finished and break the loop then (better if i could do it in sleep command, but i dont know if its possible). i don't want to gather data from finished process
2. i would like to have reliable command for monitoring childpid (ps only returns cpu time in seconds, i don't know if i can monitor it better)
3. and the problem with time that i write about at the beginning, how to obey it?

Thx

Last edited by sopel39; 11-01-2007 at 01:53 PM.. Reason: code tags
# 4  
Old 11-02-2007
Also is there a command that wait's for child for specific amount of time and if child wont finish it return error after that period?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

In Bash shell - the ps -ef shows only the /bin/bash but the script name is not displayed

In Bash shell - the ps -ef shows only the /bin/bash but the script name is not displayed ? Is there any way to get the script names for the process command ? --- Post updated at 08:39 AM --- in KSH (Korn Shell), my command output shows the script names but when run in the Bash Shell... (3 Replies)
Discussion started by: i4ismail
3 Replies

2. UNIX for Beginners Questions & Answers

Escape bash-special character in a bash string

Hi, I am new in bash scripting. In my work, I provide support to several users and when I connect to their computers I use the same admin and password, so I am trying to create a script that will only ask me for the IP address and then connect to the computer without having me to type the user... (5 Replies)
Discussion started by: arcoa05
5 Replies

3. Shell Programming and Scripting

Different behavior between bash shell and bash script for cmd

So I'm trying to pass certain json elements as env vars and use them later on in a script. Sample json: JSON='{ "Element1": "file-123456", "Element2": "Name, of, company written in, a very weird way", "Element3": "path/to/some/file.txt", }' (part of the) script: for s... (5 Replies)
Discussion started by: da1
5 Replies

4. Shell Programming and Scripting

How to run several bash commands put in bash command line?

How to run several bash commands put in bash command line without needing and requiring a script file. Because I'm actually a windows guy and new here so for illustration is sort of : $ bash "echo ${PATH} & echo have a nice day!" will do output, for example:... (4 Replies)
Discussion started by: abdulbadii
4 Replies

5. Shell Programming and Scripting

Bash to select text and apply it to a selected file in bash

In the bash below I am asking the user for a panel and reading that into bed. Then asking the user for a file and reading that into file1.Is the grep in bold the correct way to apply the selected panel to the file? I am getting a syntax error. Thank you :) ... (4 Replies)
Discussion started by: cmccabe
4 Replies

6. UNIX for Dummies Questions & Answers

Im new to bash scriping and i found this expression on a bash script what does this mean.

# check host value regex='^(||1|2|25)(\.(||1|2|25)){3}$' if ')" != "" ]; then if ]; then echo host $host not found exit 4 fi elif ]; then echo $host is an invalid host address exit 5 fi espeacailly the top regex part? ---------- Post updated at 06:58 PM ---------- Previous update was... (1 Reply)
Discussion started by: kevin298
1 Replies

7. Shell Programming and Scripting

Using arrays in bash using strings to bash built-in true

I have the following code and for some reason when I call the program using /home/tcdata/tatsh/trunk/hstmy/bin/bash/raytrac.bash --cmod=jcdint.cmod I get hasArgument = hasArgument = true Somehow the array element is returning even though I have not chosen the option. ... (41 Replies)
Discussion started by: kristinu
41 Replies

8. Shell Programming and Scripting

how to make your bash script run on a machine with csh and bash

hi, i have a script that runs on bash and would like to run it on a machine that has csh and bash. the default setting on that machine is csh. i dont want to change my code to run it with a csh shell. is there any way i can run the script (written in bash) on this machine? in other words is there... (3 Replies)
Discussion started by: npatwardhan
3 Replies

9. Shell Programming and Scripting

bash and ksh: variable lost in loop in bash?

Hi, I use AIX (ksh) and Linux (bash) servers. I'm trying to do scripts to will run in both ksh and bash, and most of the time it works. But this time I don't get it in bash (I'm more familar in ksh). The goal of my script if to read a "config file" (like "ini" file), and make various report.... (2 Replies)
Discussion started by: estienne
2 Replies

10. Shell Programming and Scripting

passing variable from bash to perl from bash script

Hi All, I need to pass a variable to perl script from bash script, where in perl i am using if condition. Here is the cmd what i am using in perl FROM_DATE="06/05/2008" TO_DATE="07/05/2008" "perl -ne ' print if ( $_ >="$FROM_DATE" && $_ <= "$TO_DATE" ) ' filename" filename has... (10 Replies)
Discussion started by: arsidh
10 Replies
Login or Register to Ask a Question