How to tell if a process is running?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How to tell if a process is running?
# 1  
Old 10-23-2011
How to tell if a process is running?

Hi all, please excuse the newby question.

I run OSX servers with Filemaker and Terascript (formerly Witango, before that Tango). Terascript talks to Filemaker via JDBC so I have installed the Filemaker Xdbc extensions (JDBC, ODBC). It is a listener process that waits for JDBC commands and interprets them and passes them on to Filemaker and returns the results.

The process is xdbc_listener and in both the Server and Client version of Filemaker it has a memory leak and slowly grows in memory footprint until it reaches the limit of the server and then crashes. In FMP (client) it brings up a dialog box with an option to click Reopen. On Server there is no outward sign, just that JDBC calls fail.

I am trying to write a script to test if xdbc_listener is running. If it is, the script should just write to a log file and die nicely. If not, it should trigger a restart of the process.

I have edited an old script that I use on older servers to test if FileMaker has crashed but it doesn't seem to correctly ascertain whether or not the process is running:

Code:
#!/bin/sh
 
#checking to see if fmxdbc_listener exists and writing to a variable

/bin/ps ax |grep fmxdbc_listener |egrep -v "grep|checkfmxdbc" > /dev/null 2>&1

#echo "$checkfmxdbc"

if [ $? = "0" ]; then
	echo "fmxdbc_listener is still Running - `date`" >>  /checkfmxdbc.log
else
	echo "ERROR - fmxdbc_listener is NOT Running - `date`" >>  /checkfmxdbc.log
	cd /Applications/FileMaker\ Pro\ 11\ Advanced/Extensions/xDBC\ Support/fmxdbc_listener.bundle/Contents/MacOS/
	./fmxdbc_listener -u &
fi

Any assistance with this would be greatly appreciated.

I am running:
OSX 10.6.8 on Mac mini with 2Gb RAM
Terascript Server 6.07
Filemaker Server 11.0.3 w/XDBC plug-in 11.3.81 (on one server)
Filemaker Client 11.0.4 w/XDBC plug-in 11.3.76 (on the other)

Last edited by fpmurphy; 10-24-2011 at 02:27 AM.. Reason: code tags please!
# 2  
Old 10-25-2011
Why don't you recuperate the processID ($$) when you launch xdbc_listener ?
You can use it as a suffix for a file name e.g. xdbc_listener_proc.$$ you put in /tmp, and then just use ps to grep processID value
How long does it take before it goes bezeurk?
I for those apps or software with issues tend to use cron to schedule a stop/start at 11 PM...
# 3  
Old 10-26-2011
I seems to happen once or twice a week at current load.

I'm not sure how to recuperate the processID at launch time. If this would help I would appreciate your guidance.

But shouldn't I be able to find out if a process is running by it's name?
# 4  
Old 10-26-2011
Quote:
But shouldn't I be able to find out if a process is running by it's name?
Yes...
But is it the one You launched?...

That said, here is for you:
There are so called Special shell Variables such as
$0 which is Filename of the script
$1-9 are known as positional parameters
..
$? return value (e.g. exit values...)
$$ ProcessID (PID) of script
$! Process ID of last job run in background
etc..

Try to add in your script to launch the listener:
Code:
        my_pid=$$
        (date;echo "listener started, PID is: " $my_pid )|xargs >>/tmp/listener_restart.log

# 5  
Old 10-26-2011
The only problem I see with this is that I don't initially launch the process. It is a part of FileMaker's start up. So getting the initial PID might be a problem.
# 6  
Old 10-28-2011
Any chance I could get some help with this line:
Code:
/bin/ps ax |grep fmxdbc_listener |egrep -v "grep|checkfmxdbc" > /dev/null 2>&1

I guess the intention is that it returns 0 then the process is running and if not, then the process is not running. Any idea why it is not behaving this way?

Moderator's Comments:
Mod Comment Video tutorial on how to use code tags in The UNIX and Linux Forums.

Last edited by vbe; 10-28-2011 at 05:25 AM..
# 7  
Old 10-28-2011
Start by using your command line WITHOUT redirection, to see if it porduces the wanted output!
Code:
/bin/ps ax |grep fmxdbc_listener |egrep -v "grep|checkfmxdbc"

Then if happy, decide what it is for
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Command to get exact tomcat process I am running ignoring other java process

Team, I have multiple batchjobs running in VM, if I do ps -ef |grep java or tomcat I am getting multiple process list. How do I get my exact tomcat process running and that is unique? via shell script? (4 Replies)
Discussion started by: Ghanshyam Ratho
4 Replies

2. UNIX for Advanced & Expert Users

Process remians in Running state causing other similar process to sleep and results to system hang

Hi Experts, I am facing one problem here which is one process always stuck in running state which causes the other similar process to sleep state . This causes my system in hanged state. On doing cat /proc/<pid>wchan showing the "__init_begin" in the output. Can you please help me here... (6 Replies)
Discussion started by: naveeng
6 Replies

3. UNIX for Advanced & Expert Users

Process remians in Running state causing other similar process to sleep and results to system hang

Hi Experts, I am facing one problem here which is one process always stuck in running state which causes the other similar process to sleep state . This causes my system in hanged state. On doing cat /proc/<pid>wchan showing the "__init_begin" in the output. Can you please help me here... (1 Reply)
Discussion started by: naveeng
1 Replies

4. BSD

Process remians in Running state causing other similar process to sleep and results to system hang

Hi Experts, I am facing one problem here which is one process always stuck in running state which causes the other similar process to sleep state . This causes my system in hanged state. On doing cat /proc/<pid>wchan showing the "__init_begin" in the output. Can you please help me here... (0 Replies)
Discussion started by: naveeng
0 Replies

5. UNIX for Dummies Questions & Answers

Need help in running a process

Hello All, We are running a process in unix box. This is how we will do 1.our process name is Runprojectprocess <ID> configuration 2.We will be running upto 500 id at once. So we are populating a text file as Runprojectprocess 1 configuration to Runprojectprocess 500 configuration 3.... (2 Replies)
Discussion started by: arunkumar_mca
2 Replies

6. UNIX for Dummies Questions & Answers

How a process can check if a particular process is running on different machine?

I have process1 running on one machine and generating some log file. Now another process which can be launched on any machine wants to know if process1 is running or not and also in case it is running it wants to stream the logs file generated by process1 on terminal from which process2 is... (2 Replies)
Discussion started by: saurabhnsit2001
2 Replies

7. UNIX for Dummies Questions & Answers

Running different process from current process?

I have been having some trouble trying to get some code working, so I was wondering...what system calls are required to execute a different program from an already running process? (1 Reply)
Discussion started by: Midwest Product
1 Replies

8. UNIX for Advanced & Expert Users

How to know process is running or not?

please suggest me a way to write c program that takes pattern of the process and returns true or false my case is i need to keep track of dhcpcd dhcpcd -d eth1 so i tried popen("ps -ef | grep dhcpcd | grep eth1 | wc -l", "r"); but pipe is storing 1 or 2 when not running and 2 or 3... (7 Replies)
Discussion started by: Gopi Krishna P
7 Replies

9. 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

10. UNIX for Advanced & Expert Users

How to create a dummy process of a process already running?

Hi Everybody, I want to create a shell script named as say "jip" and it is runned. And i want that when i do ps + grep for the process than this jip should be shown as process. Infact there might be process with name jip which is already running. (3 Replies)
Discussion started by: shambhu
3 Replies
Login or Register to Ask a Question