General :: Get Parent PID Of A Given Process In GNU From Command Line?
Jun 8, 2010Resolved before asked: cat /proc/1111/status | grep PPid
View 2 RepliesResolved before asked: cat /proc/1111/status | grep PPid
View 2 RepliesI have a script that calls other scripts/commands which may or may not spawn other process. From my understanding, when I do a ps -ef, the highest numbered process ID is supposed to be the parent ID of all the other related child processes, is this correct? In most or all circumstances, I do a ps -ef | grep <processid> of my script and anything that spawns off that process IDs I assumed are the child processes of my script. If I want to terminate my script and all other child processes, then I kill the parent ID which is the highest numbered PID and this will subsequently kill all other child process IDs, is this correct?
Now, my question is whether there is any quick way of showing what are the child processes of a parent ID instead of what am currently doing now which is visually checking which one is the parent ID and "assuming" that the highest numbered PID is the parent ID of all the other processes. Below is a sample output of running ps -ef | grep exp | grep -v grep. I assume from the output below that the parent process/ID is PID 11322, is that correct?
Code:
oracle 11154 11153 0 21:20 ? 00:00:00 /bin/sh -c (. ~oracle/.profile; /bin/ksh /usr/local/oracle/scripts/expdp_o
oracle 11155 11154 0 21:20 ? 00:00:00 /bin/sh -c (. ~oracle/.profile; /bin/ksh /usr/local/oracle/scripts/expdp_o
oracle 11190 11155 0 21:20 ? 00:00:00 /bin/ksh /usr/local/oracle/scripts/expdp_schema.ksh dev01
oracle 11322 11190 0 21:20 ? 00:00:00 expdp
Code:
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
[code]....
Description of what the code does or what i intended to do:
1. Created a child process from parent process using 'fork()'
2. Sent a signal 'SIGALRM' from child process to parent process using 'sigqueue' function.
(The Third parameter of 'siqueue' function contains the message (message msg) which the child process wants to send to the parent process.'msg' is a stucture instance containing a) pid of child and b) string) 5. Print the 'msg' sent by child process inside the signal handler function 'sig_action_function' of the parent process I am getting some junk value when this line is executed
Code:
printf("%d
",msg->cpid);
I expected to get the pid of child process, which the child process sent to parent process through the signal.
I have a folderA that contains folderB that contains a lot of files. I would like to get rid of folderB, but not its contents. I want those contents to be inside of folderA. How can I accomplish this on the commandline?
View 2 Replies View RelatedHow do you find the parent process of zombie processes?
When the child process is something where the parent is not entirely obvious...
Is there some way to list processes in tree format or something?
I have created three child process from one parent. And different child has different functions. Child 2 has got function to load file called "wc" to count file1 and and its required to get their files by command line arguments. I can get the files through command line but couldn't get the files when child 2 process start.
View 9 Replies View RelatedI want to kill parent process after "fork()" method. but if I kill parent process with "exit(0)" method, main() thread is terminated as well so child prosess doesn't work anymore. Is there any way to kill only parent process without affecting to child process?
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
[code]....
What happens to a child process that dies and has no parent process to wait for it and what's bad about this?
View 2 Replies View Relatedmy code is very simple:
int pid, status;
printf("parent process id=%d, to call fork
",getpid());
if(pid=fork()<0)
[Code].....
but everytime I can only get two fork return pid=0. In parent process, the pid returned by fork() should be >0 and equal to the child process id.
I am facing an issue where the process starts hanging. When I closely look at the logs I come to know that some of the child processes that are forked by the parent process are not finished.
1) Is it possible that the child processes that are not finished occupy the socket memory of the parent process and ultimately a point is reached where no socket memory is available to fork new child processes.
2) What is the standard limit of socket memory in linux?
3) What is the fate of such child processes (as I have mentioned above)?
4) How to debug such cases so that the exact problematic area is identified?
well i have just started with shell scripting...how to find all child processes of a parent process given to script as argument.
View 10 Replies View RelatedThe download bar on my conky overlay (${downspeedgraph eth0}) seems to be maxed out constantly. This is when everything should be idle with no downloads happening in the background (at least non that I know about).Are there any command line tools that can tell me what process is using my ethernet port?
View 7 Replies View RelatedI am trying to kill child process without killing the parent and seem to be having issues doing so. I have tried quite a few different commands and the end result is either killing all of them including the parent or not killing them at all.
View 1 Replies View RelatedI am going to create a parent process and fork a child process from it. I want to write a code in such a way that whenever my child process end it must indicate that the child process is terminated by a signal or not. This code must be written in the parent process block.
View 6 Replies View RelatedCode:
int main()
{
int pi;
int i=10;
pid=fork();
[code]....
Q 1. The value of the variable pid returned by the fork() function will be greater than 0 in the parent process and equal to zero in the child process? but during forking, there values are exactly copied so what's went wrong here?
Q 2. "changes to the variable in one process is not reflected in the other process" why it is so? >> Even if we have variable i declared as a pointer or a global it wont make a difference.
Code:
int main()
{
int i, pid;
i=10;
printf("before fork i is %d
[code]....
Q. Through this program it is clear that both process is using the data from the same location, so where's the original value is residing when the child process is in execution.?
What i am trying to do is i want to add numbers from 1 to 100. but that too using multiprocessing. So i made a c programme and using fork() command made two child processes. Now in one child process i am adding from 1 to 50. and in another i am adding 51 to 100. and then in the parent process adding the two results to get the final one. Now the result from the two function i am getting correctly. But after the wait() call the value returned is lost : See the programme below for reference
# include<stdio.h>
# include<unistd.h>
# include<sys/wait.h>
# include<stdlib.h>
[code].....
I have a transparent proxy Squid-3.0 on Slackware 12.2. I used cron to restart squid every day at 7:30 AM (just /path.to.squid/squid -k kill && /path.to.squid/squid) Some days ago I saw in /var/log/messages that Squid was killed but haven't started. I started it manually and everything was OK. But today everything repeated. And the log file is interesting. I tried to find about it on http://squid-cache.org/ but al in vain. This is from /var/log/messages :
Code:
May 24 07:30:02 konura squid[17188]: Squid Parent: child process 17199 exited due to signal 9
May 24 07:30:02 konura squid[19038]: Squid Parent: child process 19040 started
May 24 07:30:03 konura squid[19038]: Squid Parent: child process 19040 exited with status 1
May 24 07:30:06 konura squid[19038]: Squid Parent: child process 19045 started
[code]....
I need to say that I haven't edited the config file for a long time, but this problem started to happen. ADDED, Solved: I'm not sure, but maybe I found the decision. I deleted about 400 mb of Sarg logs from /var partition. And now squid runs well. Besides, before deleting old logs, 'crontab -e' and 'pkgtool' didn't work And the system wrote me that it's no space left on device. At the same time, 'df -h' showed me that all partitions had enough free space. Seems strange, but that's it. After deleting old proxy statistics, generated by Sarg (this is about 400 mb) 1)squid runs OK and 2)there are no more that annoying messages about abscence of free space.
I'd like show a certain line or lines of a file with context, kind of like a unified diff, on the command line in Linux:
$ (something) -l 154 stuff.py
150: def foo(bar):
151: """
[code]....
How can I print Linux command line history without including the line numbers? I want to send it all to a text file like this:history >> history.txt
View 1 Replies View Relatedi've gotten my fedora 12 to the point where i can run python3 scripts from command line and can call up python 2.6.2 idle with the command 'idle' from command line. what command will call up python3 (3.1.2 to be exact) idle?
View 5 Replies View RelatedI keep getting a segfault in compiz. I've tried everything! This is from a fresh install without and accelerated drivers (I have ATI)
Quote:
Code:
**Switching to Compiz window management**
/usr/local/bin/compiz-indicator:99: GtkWarning: Can't set a parent on widget which has a parent
menu.append(kill)
/usr/local/bin/compiz-indicator:100: GtkWarning: Can't set a parent on widget which has a parent
menu.append(start)
[code]....
I know my way around MS Windows much better, but I just don't feel right trying to program something for Android on a Microsoft operating system. I am interested in Android programming so I followed the instructions on [URL] to install the environment on my computer...
I just installed the JDK, SDK, Eclipse successfully (or I assume):
* When I get to Step 4 where I'm supposed to run 'android' it will not run. I get the error message "android: command not found" (I am definitely in the right directory).
** When I double-click it in nautilus, it opens up in gedit. I can set the permissions in nautilus (through the properties - Allow executing file as a program) and get it to work,
My system:
Intel i7
Ubuntu 10.10 Maverick Meerkat
android-sdk-linux-x86
eclipse 3.6.2
I installed the Berkeley DB on the Ubuntu server and tried to access the dbxml from the command line and it returns command not found
path/to/dir/dbxml-2.5.16/install/bin$dbxml
-bash" dbxml: command not found
Can someone point me in the right direction
How to make tools like sed operate on the whole file, instead of line-by-line?
View 14 Replies View Relatedhow do you write the ASCII character #27 in the vim command line?
View 6 Replies View RelatedI've some file with .sh extensions that runs some softwares.Now,how do I stop running that filesI know we run the command ./start_tomcat.sh to start the apache.Is there any command to stop that file/process or is it just kill the process to stop the process
View 2 Replies View RelatedHow to set that if user use command to display all process, then he'll see only his own processes?
View 2 Replies View RelatedI have tried top and PS command but i am not able to find the RAM used by each process.top command says that 240MB RAM used but the Memory shows 0% for all the processes, same with ps. i want to know which process consumes all 240MB RAM.Is there any command which / script which can sort the running process in oder of increasing RAM usage so that i can see. Also i find it very hard to read bytes and KB. Is there any to way to chnage those units to MB
View 2 Replies View RelatedI got indication of zombie process via top command
Code:
Tasks: 321 total, 1 running, 319 sleeping, 0 stopped, 1 zombie
I don't have 'Z' indication on 'Status' column
How could it possible to identify this process ?
I'm trying to use the 'at' command to run a file that checks ALL process running at 5:00pm and does a system load check? Any advice on where to start?
View 7 Replies View Related