Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Capturing the Process ID of a process Post 302117811 by Unbeliever on Wednesday 16th of May 2007 11:55:56 AM
Old 05-16-2007
Code:
nohup ./run_sample.sh > /dev/null 2>&1 &

The two '&' characters have very different meanings. Let me go through the line bit by bit.

nohup: This command allows you to run other commands in such a way that they ignore the SIGHUP signal. Most importantly this means if you exit the shell that they are started from they *do not* exit (ie. if youlogout from the system they continue to run).

./run_sample.sh: This, of course, is your script.

> /dev/null: '>' is short for '1>' and tells the shell to redirect file descriptor 1 (standard out). In this case it is redirected to /dev/null (ie. it it is thrown away).

2>&1: This is another command to the shell to redirect another file descriptor. In this case it tells the shell to redirect file descriptor 2 (thats the '2>' bit) which is standard error, to file descriptor '1' (thats the '&1' bit), File descriptor 1 has already been pointed at /dev/null. So all output to standard error goes to /dev/null as well.

&: At the end of the line this indicates to the shell that the process should be run in the background

Please note the order is important.
Code:
my_command > /dev/null 2>&1
  and
my_command 2>&1 > /dev/null

Have very different results. I'll leave you to work out the difference Smilie

If you wish just the java process to run uninteruptted in the background then you can just move the 'nohup inside the shell script:

Code:
CLASSPATH=.
CLASSPATH=${CLASSPATH}:sampleswing.jar
nohup java -cp ${CLASSPATH} Sample > /dev/null 2>&1 &
echo "kill -9 "$! > killer.sh
chmod 777 killer.sh

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

capturing process id

I am newbie to unix shells world. I am trying to capture a background process id into a file so that it can be killed later. this process is basically a java program running in background as: java TestApp & this returning process id immediately. So how can i redirect that pid into a file.... (1 Reply)
Discussion started by: bvreddy
1 Replies

2. Shell Programming and Scripting

script to monitor process running on server and posting a mail if any process is dead

Hello all, I would be happy if any one could help me with a shell script that would determine all the processes running on a Unix server and post a mail if any of the process is not running or aborted. Thanks in advance Regards, pradeep kulkarni. :mad: (13 Replies)
Discussion started by: pradeepmacha
13 Replies

3. AIX

Capturing Process on AIX boxes - IMP

Guys we all know what command 'COLUMNS=2047 /usr/bin/ps –eo pid,ppid,uid,user,args' does.It prints 5-column output for the running processes on a AIX box. Here is simple thing i need: I need to insert this tabular data in a db2 table. How do i need? I have created table with these five... (0 Replies)
Discussion started by: ak835
0 Replies

4. Shell Programming and Scripting

Shell Script to Kill Process(number of process) Unix/Solaris

Hi Experts, we do have a shell script for Unix Solaris, which will kill all the process manullay, it used to work in my previous env, but now it is throwing this error.. could some one please help me to resolve it This is how we execute the script (and this is the requirement) ... (2 Replies)
Discussion started by: jonnyvic
2 Replies

5. Shell Programming and Scripting

Capturing running process name

i'm looking to have my script capture it's own process name while running. i'm going to use this in the output of the script to track which script produced which output file(s). when i run: ps -ef | grep processname i only get as results a ps -ef listing for the grep inside my... (6 Replies)
Discussion started by: danmauer
6 Replies

6. Shell Programming and Scripting

Capturing the CPU% used by a process

Hi, I just wonder I need to write a script where I can check if a particular process is consuming X amount of CPU. I was thinking of using the ps command but doesn't seems to work. Any ideas. Thanks. (2 Replies)
Discussion started by: arizah
2 Replies

7. Shell Programming and Scripting

Capturing PIDs of same process at different instances

Hi, I'm gonna launch a process from my 'C' code. I'm gonna launch it a few times. I would like to capture the PID of that process each time I launch. I have to copy the each PIDs into a 'C' variable and I have to kill all of them when I exit from the 'C' code. My requirement is int... (3 Replies)
Discussion started by: suryaemlinux
3 Replies

8. Shell Programming and Scripting

Capturing the killed process logs

I have two set of questions. 1) To skip killing some process automatically. 2) To kill other process and capture their log. I have set of process, some needs to be killed gracefully and others should be skipped. Listed are the process. adm 1522... (1 Reply)
Discussion started by: murali1687
1 Replies

9. Shell Programming and Scripting

Capturing the return code from background process

Hi All, I was out not working on unix from quite sometime and came back recently. I would really appreciate a help on one of the issue I am facing.... I am trying to kick off the CodeNameProcess.sh in PARALLEL for all the available codes. The script runs fine in parallel. Let say there are... (1 Reply)
Discussion started by: rkumar28
1 Replies

10. Shell Programming and Scripting

Monitoring processes in parallel and process log file after process exits

I am writing a script to kick off a process to gather logs on multiple nodes in parallel using "&". These processes create individual log files. Which I would like to filter and convert in CSV format after they are complete. I am facing following issues: 1. Monitor all Processes parallelly.... (5 Replies)
Discussion started by: shunya
5 Replies
kill(1) 						      General Commands Manual							   kill(1)

Name
       kill - send a signal to a process

Syntax
       kill [-sig] processid...
       kill -l

Description
       The command sends the TERM (terminate, 15) signal to the specified processes.  If a signal name or number preceded by `-' is given as first
       argument, that signal is sent instead of terminate.  For further information, see

       The terminate signal kills processes that do not catch the signal; `kill -9 ...' is a sure kill, as the KILL (9) signal cannot  be  caught.
       By convention, if process number 0 is specified, all members in the process group (that is, processes resulting from the current login) are
       signaled.  This works only if you use and not if you use To kill a process it must either belong to you or you must be superuser.

       The process number of an asynchronous process started with `&' is reported by the shell.  Process numbers can also be  found  by  using	It
       allows job specifiers ``%...''  so process ID's are not as often used as arguments.  See for details.

Options
       -l   Lists  signal  names.  The signal names are listed by `kill -l', and are as given in /usr/include/signal.h, stripped of the common SIG
	    prefix.

See Also
       csh(1), ps(1), kill(2), sigvec(2)

																	   kill(1)
All times are GMT -4. The time now is 08:33 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy