Sponsored Content
Top Forums Programming How do I check if a process is running in C Post 302461706 by Praveen_218 on Tuesday 12th of October 2010 05:01:00 AM
Old 10-12-2010
Use pidof instead ...

You may want to use pidof. This prints the pid of the running process on the stdout.

Usually its available at path /sbin/pidof; hence either you need to be the superuser or have the read access.

The command is
Code:
Your Prompt] # pidof -x <your process name>

Use as below in your C code (although not advices to use the system(<cmd>) in a C code but then you already used the same):
Code:
int
main() {
   /*
   ** Code snippet.
   */
   if(0 == system("pidof -x PROCESS > /dev/null")) {
      //A process having name PROCESS is running.
   }
   else if(1 == system("pidof -x PROCESS > /dev/null")) {
      //A process having name PROCESS is NOT running.
   }

   /*
   ** Continue processing further.
   */
return STATUS;
}

Look at the return value to decide on its running status. You can get this by executing, from the command prompt, another command 'echo $?' immediately after executing the pidof.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to check if another instance of the process is running

Hi, I am writing a shell script to invoke a C++ program. Before I start the C++ program (oi7loadbalancer), I am checking if the process is already running. I start the process only if it is not already running. I have the following check in my script. proccount=`ps -f -u $USER_NAME | grep... (8 Replies)
Discussion started by: sim
8 Replies

2. Shell Programming and Scripting

check process running

I have this script: ------------------------------------------------------- #!/bin/ksh # if ] || ] then echo "Executing main_load.sh script" /usr1/psc_load/jobs/cron/main_load.sh "ods" else echo "File not found, do nothing" fi exit 0 ... (4 Replies)
Discussion started by: rose1207
4 Replies

3. UNIX for Advanced & Expert Users

how to check how long the process has been running.

I have a requirement to check how long a process is running on unix system.If i use ps -ef i am getting the following message guest 2453638 1998920 0 16:16:05 - 0:00 dsapi_slave 9 8 0 but this is showing only time not the date.Can any one please advice me any script to find out how... (2 Replies)
Discussion started by: ukatru
2 Replies

4. UNIX for Advanced & Expert Users

How to check since when (for how long) a particular process is running ?

How do I check if a particular process is running from a certain date and time ? (2 Replies)
Discussion started by: hpuxlxboy
2 Replies

5. Shell Programming and Scripting

Check if Process is running

Hi , I have a csh code below which check the process if it's running. Can any expert advise me on the following: 1) what does this notationmean ">!" and how is it different from the append ">" notation ? 2) how does "setenv" work in this code ? # Check whether there is a running... (3 Replies)
Discussion started by: Raynon
3 Replies

6. UNIX and Linux Applications

How to check if process is running?

Hi I would like to check if an instance of a script is already running. I've seen many different examples, but I haven't the slightest idea as to how to do this. Can you please help. Thank you. (5 Replies)
Discussion started by: ladyAnne
5 Replies

7. UNIX for Dummies Questions & Answers

Command to check if a particular process is running

Hi What is the best command to check if a particular process is running in a linux server or not To check any java process, I use the below command. ps -ef |grep jvm When I execute the above command, it lists me all the processess . The above command should ideally return only the... (6 Replies)
Discussion started by: vr3w3c9
6 Replies

8. Shell Programming and Scripting

need to check if the process is running

Hi, I check if the process is running or not using the below. /usr/ucb/ps auxww | grep 109 |grep rmi | awk '{print $2}' 9718 Thus we see 9718 is the PID. It return blank if the process is not running. I need to perform some action if the process is not running and leave it if... (8 Replies)
Discussion started by: shifahim
8 Replies

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

10. Shell Programming and Scripting

Looping to check the currently running process.

Hi Gurus, t=`ps -u irb|grep -v grep|grep BSNL_PAYMENT_C` echo $t if then echo $? echo "Process Creation is Running ...." else echo "Process went down at $dat $tim" fi How would i use loop so that the script continously checks for the current status of this process.... (1 Reply)
Discussion started by: ankitknit
1 Replies
getpgid(2)							System Calls Manual							getpgid(2)

NAME
getpgid - Gets process group ID LIBRARY
Standard C Library (libc.a) SYNOPSIS
#include <sys/types.h> #include <unistd.h> pid_t getpgid( pid_t pid); PARAMETERS
Specifies the process ID of the target process; zero implies the calling process. DESCRIPTION
The getpgid() function returns the process group ID of the process specified by the process ID pid. Specifying a pid of 0 (zero) returns the process group ID of the calling process. RETURN VALUES
The getpgid() function returns the process group ID of the process specified. If there was an error, a value of -1 is returned and errno is set to indicate the error. ERRORS
If any of the following conditions occurs, the getpgid() function sets errno to the corresponding value: The specified process is not in the same session as the calling process, and the calling process lacks sufficient privilege to read the specified process. As released, Tru64 UNIX does not check the privilege. No process has been found that has a process ID identical to that specified by the pid parameter. RELATED INFORMATION
Functions: exec(2), fork(2), setpgid(2) delim off getpgid(2)
All times are GMT -4. The time now is 04:40 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy