Shell Script to find out if a process is running on any all machines
Hi All, I have been a guest visitor from a long time and this forum is wonderful. I finally am a member of this forum too, so i am here stuck with a shell script that i was trying to write
My requirement is that i should be able to create a shell script which will check if a process is running on this machine and any other machines too i.e if i am trying to start a app on server3 it should first check if the app is already started on server1 and server2 if not then it should start this app on server3 else it should exit.
I tried using the script to create lock file to do the same but was not sure if that would, for an idea i will post that script here. please help me out guys, thank you!!!
Moderator's Comments:
Use code tags please, thanks.
Last edited by zaxxon; 02-14-2013 at 10:09 AM..
Reason: code tags
Lock file is a bit of a misnomer here, since it doesn't lock anything. This is what's usually called a PID file. They often belong in /var/run.
Don't bother with ps | grep | awk | sed | cut | kitchen | sink games to check the name. That's not reliable and not portable, one oddly named process will break it, strange systems won't like it. If the PID file and the PID itself exist, trust it.
What's your system? If you're on a system that has /proc/, like Linux, that makes things a bit simpler.
If the script you're launching would be able to create and delete its own PID file, that would make it even more reliable.
I wrote this init script(some task-specific stuff stripped out) a little while ago:
I use it to start and stop a micro HTTP server. The script should work in any Bourne shell that has functions, including bash, ksh, dash, and busybox ash. If it complains about 'disown', remove it, some shells don't need that.
Last edited by Corona688; 02-14-2013 at 11:42 AM..
pgrep is a portable solution to "finding processes by name".
Invented on Solaris it came to Linux and now to HP-UX. man pgrep is the portable solution to get help on pgrep.
Hi all,
As i am new to shell script.Please help me to write a Shell script to find out process name that are running for last 10 days.
Thank's in advance. (8 Replies)
Team,
I would like to know, if we have any command in Solaris to verify, if some process is listening on a port on a set of machines.
for eg: Wrote the below script, and found that when a process is listening on that port, then it just waits there and doesnt come out. Rather, I would like... (6 Replies)
hi,
Am a newbie to unix and wasnt able to write script to my requirement.
I need a shell script, which should find a process by name and kill it. For eg: let the process name be "abc". I have different processes running by this name(abc), so should kill them all.
Condition would be: if... (7 Replies)
Hi, i was looking for an answer for some trouble im having runing a script in the cron, thing is, that when i run it manually it works just fine. But when cron runs it, it just doenst work. I saw a reply on a similar subject, suggesting that the . .profile worked for you, but im kind of... (9 Replies)
Ok, so here is what I am looking for..
Shell script that uses find to look for one days worth of data using the modified date and then copies only those files to a specified directory.
I figured I could use grep and the find command to do this. It seems to work just fine from what I can... (4 Replies)
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)
OS: Unix or Linux
I (only) know the pid of the process which was running earlier (say 5 hrs back) but it is not running now.
Is there a way I could find the details of that process? (atleast the name of the process). Please let me know. (2 Replies)
I want to write a unix shell script that will check if a process (say debu) is running in the server or not. If no , then send a mail to the corresponding person to start the process??? (2 Replies)
Hi All,
The scenario is like this:
There is a process say "A" which create a child process say "B" if some condition is true and process "A" terminates. "B" invokes some C program say "C" using 'execl' function. The job of program "C" is to keep polling the server until the server will be up.... (2 Replies)
To clear the web cache on my web server, I run this command:
find $APACHE_HOME/cache/plsql/plsql -type d -name "*" -exec rm -R {} \;
To clear the cache on all the web servers(we have 4), I log on to any one machine, clear its cache, ssh to another machine, clear cache etc;
Is there any way... (8 Replies)