Sponsored Content
Top Forums UNIX for Advanced & Expert Users Retrieving command line arguments of a particular PID Post 302251076 by Andrewkl on Saturday 25th of October 2008 04:02:10 AM
Old 10-25-2008
Retrieving command line arguments of a particular PID

hi

The "ps" command shows the command line arguments of running processes:

$ /bin/ps -o pid,args -e
....
26031 pico /tmp/crontab2KaG1Y
596 /usr/lib/sendmail -bd -q15m
9955 xterm -n 1 -sb -sl 800 -g 80+70+70
2627 /usr/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd -a 1691
....

I need to write a C program to get the command line arguments of a particular process id, but do not want to rely on:

system("/bin/ps -o pid,args -e");
--or--
popen("/bin/ps -o pid,args -e", "r");

On Solaris, the command line arguments of a running process are stored at: /proc/<pid>/psinfo
On Linux, the command line arguments of a running process are stored at: /proc/<pid>/cmdline

These two files are not text files, so I'm not sure how to read the contents.

Where can I find example C code to read the contents of the "psinfo" and "cmdline" files?

Thanks
--Andrew
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Parsing the command line arguments

Is there a way to get the command line arguments. I am using getopt(3) but if the arguments are more than one for a particular option than it just ignores the second argument. For eg ./a.out -x abc def now abd will be got with -x using getopt "( x : )" and string abc\0def will get stored... (7 Replies)
Discussion started by: jayakhanna
7 Replies

2. Programming

command line arguments

Hi How to pass multi line text as a command line argument to a program. (i.e) ./a.out hi this is sample 0 file1 where hi this is sample should be stored in argv 0 in argv and so on... (3 Replies)
Discussion started by: bankpro
3 Replies

3. UNIX for Dummies Questions & Answers

arguments in command line

Hi all, How many arguments can we pass while testing a prgm at command line.. I encountered an issue while passing 10 arguments. For $10 its taking argument passed for $1 followed by 'zero'. can we pass more than 9 arguments /Is there any other way. Thanks, rrs (6 Replies)
Discussion started by: rrs
6 Replies

4. UNIX for Dummies Questions & Answers

Retrieving PID from a file

Hello I need to retrieve the content of a file in the shell script file(.sh file). I store the Process ID of the a process in file.Only the PID is available in that file. Inside the shell script i want to retireve the content(PID) and need to check for the existence of the Process.Basically... (5 Replies)
Discussion started by: appleforme1415
5 Replies

5. Shell Programming and Scripting

command line arguments

-------------------------------------------------------------------------------- I have this while loop and at the end I am trying to get it to tell me the last argument I entered. And with it like this all I get is the sentence with no value for $1. Now I tried moving done after the sentence... (1 Reply)
Discussion started by: skooly5
1 Replies

6. UNIX for Dummies Questions & Answers

Command line arguments.

I am working on a script wherein i need the user to enter the Build ID for eg:the command line will show enter the build ID Now on entering the build ID it should be assigned to @ARGV. How can this be done.? (1 Reply)
Discussion started by: Varghese
1 Replies

7. UNIX for Dummies Questions & Answers

command line arguments

hi, can someone how to accept command line arguments as a variable using in script? like: ./scriptname arguments by accept arguments, I can use it in my script? thx! (1 Reply)
Discussion started by: ikeQ
1 Replies

8. Shell Programming and Scripting

Command Line Arguments - not working

I am new to the world of Unix and shell scripting and have been trying to get the following simple script to work: #!/bin/bash echo "what is your age?" echo "you are $1 years old"I want to be able to enter my age on the command line, when prompted, and it return the... (1 Reply)
Discussion started by: meursault
1 Replies

9. Shell Programming and Scripting

command line arguments

hi,,,, I want to create a command prompt, for example "prompt>", so my prompt need to handle commands, for example "prompt>cmd", so i want to know how to get arguments for my own commands cmd, i.e. default argc should contain arguments count and argv should point to the argument vector i.e, for... (2 Replies)
Discussion started by: vins_89
2 Replies

10. UNIX for Beginners Questions & Answers

Loop with command line arguments

Ubuntum, Bash version: 4.3.46 Hi, how can I create a loop where the command line arguments change (increase) and every time the number of arguments is different ? ### I have many gene names... that mean gene1=$2, gene2=$3, ...... geneN=$N+1 ### some time the number of gene is 25, other... (7 Replies)
Discussion started by: echo manolis
7 Replies
pargs(1)							   User Commands							  pargs(1)

NAME
pargs - print process arguments, environment variables, or auxiliary vector SYNOPSIS
pargs [-aceFlx] [pid | core] ... DESCRIPTION
The pargs utility examines a target process or process core file and prints arguments, environment variables and values, or the process auxiliary vector. pargs outputs unprintable characters as escaped octal in the format xxx, unless the character is one of the characters specified in the "Escape Sequences" section of formats(5), in which case the character is printed as specified in that section. pargs attempts to be sensitive to the locale of the target process. If the target process and the pargs process do not share a common char- acter encoding, pargs attempts to employ the iconv(3C) facility to generate a printable version of the extracted strings. In the event that such a conversion is impossible, strings are displayed as 7-bit ASCII. OPTIONS
The following options are supported: -a Prints process arguments as contained in argv[] (default). -c Treats strings in the target process as though they were encoded in 7-bit ASCII, regardless of the locale of the target. The use of iconv(3C) is suppressed. -e Prints process environment variables and values as pointed at by the _environ symbol or by pr_envp in /proc/pid/psinfo. -F Force. Grabs the target process even if another process has control. -l Displays the arguments as a single command line. The command line is printed in a manner suitable for interpretation by /bin/sh. If the arguments contain unprintable characters, or if the target process is in a different locale, a warning message is dis- played. The resulting command line may not be interpreted correctly by /bin/sh. -x Prints process auxiliary vector. OPERANDS
The following operands are supported: pid Process ID list. core Process core file. EXIT STATUS
The following exit values are returned: 0 Successful operation. non-zero An error has occurred (such as no such process, permission denied, or invalid option). FILES
/proc/pid/* Process information and control files. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWesu | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ SEE ALSO
proc(1), iconv(3C), proc(4), ascii(5), attributes(5), environ(5), formats(5) SunOS 5.10 13 Apr 2004 pargs(1)
All times are GMT -4. The time now is 05:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy