Visit Our UNIX and Linux User Community


top output for a specific process to a file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers top output for a specific process to a file
# 1  
Old 08-24-2009
top output for a specific process to a file

Hi,

I have the following script, and it is driving me nuts.
It just hangs, I've tried all kinds of tricks, but it won't work.
I know it can, it is pretty straight forward.

It hangs when it tries to output $X

Any help appreciated!

PHP Code:
#!/bin/bash
set -o xtrace
command
="top -b"
process1="ksoftirqd"
testFile=testFileTop_`uname -n`
echo 
"testFile: " $testFile
echo > $testFile
echo "timeStamp ms1Rss ms1Vsize ms2Rss ms2Vsize ms3Rss ms3Vsize ms4Rss ms4Vsize msmlConRss msmlConVsize" $testFile
for ((;;)); do
  
currentTime=`date| awk '{print $4}'`
  echo 
"currentTime: " $currentTime
  
echo "command    : " $command
  
echo "process1   : " $process1
  X
=`$command | grep $process1 | awk '{print $8" "$9}'`
  echo 
$currentTime $X >> $testFile
  sleep 3s
  cat $testFile
done 
# 2  
Old 08-24-2009
Add the option -n1 to the top command:

Code:
command="top -b -n1"

# 3  
Old 08-24-2009
I see a few things going on. Perhaps one of them is causing your problem. I mostly suspect your top command:

Code:
command="top -b"

This command will run until killed or until it reaches the number of iteration set by -n (see top man page). So, this may help:

Code:
command="top -b -n 1"

Also, some other stuff. I would rewrite some lines as:

Code:
echo "testFile: $testFile"
echo > $testFile --- This line doesn't do anything.  You overwrite it on the next line
...
for ((;;)); do --- don't know what this does.  Endless loop?
currentTime=`date +%T`
echo "currentTime: $currentTime"
echo "command    : $command"
echo "process1   : $process1"
... 

Just some suggestions. Hope something here helps
# 4  
Old 08-24-2009
You may find this task easier with "ps" rather than "top". In my version of "top" you only get the first page.
# 5  
Old 08-25-2009
Thank you Franklin52 and mglenney, that is great, it now works.
I was beating myself up for an hour or more trying to get it to work.
this is the required output
PHP Code:
[sroot@duqaMX52L-27253 dk]# cat testFileTop_duqaMX52L-27253
timeStamp ms1Rss ms1Vsize ms2Rss ms2Vsize ms3Rss ms3Vsize ms4Rss ms4Vsize msmlConRss msmlConVsize
11
:59:30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11
:59:34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11
:59:37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
Quote:
Originally Posted by methyl
You may find this task easier with "ps" rather than "top". In my version of "top" you only get the first page.
@methyl: I'd be very interested in finding out how to do the same with ps for a specific process.
# 6  
Old 08-28-2009
bump

@methyl: I'd be very interested in finding out how to do the same with ps for a specific process.
# 7  
Old 08-29-2009
The "ps" command varies across operating systems and we don't know which one you are using.

In general the equivalent of what you are doing is:

Code:
ps -ef | grep "ksoftirqd"
Or on some versions:
ps -axl | grep "ksoftirqd"

In many versions of "ps" you can get more sophisticated by using "-o" switch to select the columns to be output.
Once you know the numeric process ID you can monitor an individual process more efficiently with:

Code:
ps -fp<process_id>

 

Previous Thread | Next Thread
Test Your Knowledge in Computers #785
Difficulty: Medium
The TRS-80 Model 100 was a desktop-style computer introduced in 1983.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk to output specific matches in file

Using the attached file, the below awk command results in the output below: I can not seem to produce the desired results and need some expert help. Thank you :). awk -F'' ' { id += $4 value += $5 occur++ } END{ printf "%-8s%8s%8s%8s\n", "Gene", "Targets", "Average Depth", "Average... (3 Replies)
Discussion started by: cmccabe
3 Replies

2. HP-UX

Formatted TOP command output in file

Hi All, I want generate HP-UX overall system performance report. I tried executing top command and write that out put to file. but am not able to view the report in proper format. I can see report like below in file but i can see properly in terminal. Please suggest how can i get... (2 Replies)
Discussion started by: lravip123
2 Replies

3. Shell Programming and Scripting

output strings to specific positions in a file

Been searching for about 3 hours for similar functionality that I can get examples of how to output text from variables into certain locations in a file. I would like to incorporate this into a script. I have not been able to find a command example that does it all in one method. I find part of... (1 Reply)
Discussion started by: bennu_500
1 Replies

4. Shell Programming and Scripting

kill process from a file or directly with top

i have edited a script to kill an exact mysql process is causing the high load on the server, my problem is, kill dont kill it! script: #!/bin/sh top -n 1 -u mysql | grep mysqld | awk '{print $1}' > pid proc='cat pid' kill -9 $proc or i try with kill -9 `top -n 1 -u mysql | grep mysqld... (8 Replies)
Discussion started by: chandro
8 Replies

5. Solaris

top output and swap -s output are differing

Solaris experts, Am struggling, and wondering for the past more than one week that, how to calculate the total available and used memory/swap space. Finally installed and used top & got some understanding, but while cross-checking, there are mismatches. Main Memory top o/p - 2GB... (7 Replies)
Discussion started by: thegeek
7 Replies

6. Solaris

Output top to file

Hi, I've installed SMCtop on to a Solaris 9 sparc server and I am trying to capture the output of top to a file without success. The version of top I have installed is top-3.6.1-sol9-sparc-local.gz. All my attempts are below. # /usr/local/bin/top -d 5 -f /tmp/top.out... (3 Replies)
Discussion started by: sparcman
3 Replies

7. Shell Programming and Scripting

top output for six processes with the same name, output changed from column to row

Hi, I have a system under test, and I use a script that does a ps. The output, is in the following format, it's basically the timestamp, followed by the rss and vsize. 09:03:57 68404 183656 68312 181944 69860 217360 67536 182564 69072 183172 69032 199276 09:04:27 68752 183292 70000 189020... (5 Replies)
Discussion started by: Bloke
5 Replies

8. Shell Programming and Scripting

capturing output from top and format output

Hi all, I'd like to capture the output from the 'top' command to monitor my CPU and Mem utilisation.Currently my command isecho date `top -b -n1 | grep -e Cpu -e Mem` I get the output in 3 separate lines.Tue Feb 24 15:00:03 Cpu(s): 3.4% us, 8.5% sy .. .. Mem: 1011480k total, 226928k used, ....... (4 Replies)
Discussion started by: new2ss
4 Replies

9. UNIX for Dummies Questions & Answers

catpure output of 'top' in a file

#!/bin/sh echo `date +%F:%T` >> top.out echo `top -n1` >> top.out Hi all, i am trying to capture the output of the 'top' command in linux. when i run the command manually, it works. However, when i run it as a cronjob,the 'top' output is not being printed to the file,only the date is... (1 Reply)
Discussion started by: new2ss
1 Replies

10. Shell Programming and Scripting

Redirecting my output to a specific file

Hi guys am doing some checking inside my script and i want to redirect my output to a specific file for example checking if a move was successfully done and was writing on the screen whether the move was successful or not and now want to write same thing into a file... I am new to shell... (2 Replies)
Discussion started by: Lutchumaya
2 Replies

Featured Tech Videos