Sponsored Content
Top Forums UNIX for Advanced & Expert Users Finding process id of subsequent process Post 302368275 by matrixmadhan on Thursday 5th of November 2009 12:57:50 AM
Old 11-05-2009
Quote:
Originally Posted by thmnetwork
Unless you expect the first script to finish within a second or two, frans's solution is fine.
That needed not be the case, and the solution that am trying for is some generic solution

Quote:
Also, if you added a lock file that gets deleted when the process ends, can't you use the same script that creates the lock file to create it with the pid in the lock file's name?
A lock file with pid in it isn't really making any difference here, just a running number to keep track of the active child count should do and that is what i had done for now

Quote:
Alternative concepts could be to have envVarSetter write the pid of the child and any other useful info to its parent process's read pipe.

Alternatively, you could look through children of init for processes of that name that began a within a second or two of the script's initial running.

etc, etc. There are a lot of possibilities.
Again an important point is being missed out here,
say at t1 the main script spawns a process p1 and is adopted by init at the same time t1, another script with the same name can be spawned and become the child of the init

In a busy node, all these considerations should be dealt well, else there would be confusion as to who is the parent of whom

-- many thanks for the suggestions

---------- Post updated 11-05-09 at 11:27 AM ---------- Previous update was 11-04-09 at 11:34 PM ----------

Now I have an improved way to prevent the hack of spoofing child creation instance by adding new files at least to an extent.

Instead of writing the active child number spawned, write a random number to the file and maintain that in an internal hash. When checking for the existence of file as a synonym that is indicating whether a process is running or not, search for the entry in the file and compare it against the internal hash that is built with this values. With this, spoof of child creating by just touching files can be avoided.

I don't want to write the pid because effectively we are writing the PPID and not PID which should be avoided.
 

9 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Finding Out When A Process Has Finished?

Problem I have an application which basically runs lots of UNIX programs remotely, using the Telnet protocol. For each program it remotely executes, it stores the process ID (PID) for that process. At regular intervals, I would like my application to take the PID for every process still... (5 Replies)
Discussion started by: 1cuervo
5 Replies

2. UNIX for Dummies Questions & Answers

finding process id

is there a way to find the process id of a process because i have same process invoked several times. when i need to kill them, i get confused with the id. Thanks, sskb :( (8 Replies)
Discussion started by: sskb
8 Replies

3. UNIX for Dummies Questions & Answers

Finding out process id in a scipt

Hi, If in a shell script i write a command ls > bla & ls The output is redirected to bla and the next ls starts as first one is going on in background. I want to find the PID of the first command. Thanks in advance (2 Replies)
Discussion started by: vibhor_agarwali
2 Replies

4. Shell Programming and Scripting

finding Background Process Id

Hi Gurus, How can i find background process is completed or not. I have mentioned my scenario below. Actually Pr1 Process is running in back ground, i just want to know whether this process completed or not. I can come to know the process id by typing pid=$! but i want to trigger... (4 Replies)
Discussion started by: krk_555
4 Replies

5. Linux

Need help in finding process

Hello, Iam running a apache webserver in CentOS recenlty a hacker has attacked my server using RFI attack and did something in my server.. After that everyday at 8Pm my httpd is using about 5000 pid's actually in normal it takes only about 30 - 40 pid's. and also exim uses 2000 pid's totally my... (2 Replies)
Discussion started by: dheeraj4uuu
2 Replies

6. Shell Programming and Scripting

Finding the process id of the process using the ports

Hi Any idea how to get the process id of the process using the ports lsof -i :portnumber does not work in my machine. I am on sun Solaris SPARC. Any suggestion is highly appreciated (1 Reply)
Discussion started by: kinny
1 Replies

7. UNIX for Dummies Questions & Answers

Finding a rogue process

Afternoon all, hopefully someone can give me a hand with this (the following may be explained very poorly :rolleyes: ) I know there's a process running on one of our Solaris 10 boxes that runs approximately every 5 minutes. Unfortunately I've no idea, who owns it, what it is called, or how it is... (2 Replies)
Discussion started by: dlam
2 Replies

8. Shell Programming and Scripting

Finding process which ended another process

Hello, The scenario is as follows, I have a background process running initially for which i know the PID on machine1. I use ssh from machine 2 to execute a script in machine 1. For some reason the back ground process is terminated. I would like to know which process caused the... (6 Replies)
Discussion started by: prasbala
6 Replies

9. Shell Programming and Scripting

Finding a file process ?

Hi, I am trying to find a file that have a different name than it should be processing, the file name is ( Fifa15 ) is there a command to use? I got that file by ps -ef | grep fifa15 but how do I know what is running ? thanks a lot, I am learning unix so sorry if that is a... (2 Replies)
Discussion started by: latinooo
2 Replies
setsid(2)							System Calls Manual							 setsid(2)

NAME
setsid - create session and set process group ID SYNOPSIS
DESCRIPTION
If the calling process is not a process group leader, creates a new session. The calling process becomes the session leader of this new session, it becomes the process group leader of a new process group, and it has no controlling terminal. The process group ID of the call- ing process is set equal to the process ID of the calling process. The calling process is the only process in the new process group and the only process in the new session. Security Restrictions Some or all of the actions associated with this system call may require privileges. See privileges(5) for more information. RETURN VALUE
Upon successful completion, returns the value of the new process group ID of the calling process. Otherwise, it returns a value of and sets to indicate the error. ERRORS
If fails, no changes occur and (see errno(2)) is set to one of the following values: The calling process is already a process group leader, or the process group ID of a process other than the calling process matches the process ID of the calling process. The calling process does not have sufficient privileges. AUTHOR
was developed by HP and AT&T. SEE ALSO
exec(2), exit(2), fork(2), getpid(2), kill(2), setpgid(2), setpgrp(2), setpgrp3(2), signal(2), privileges(5), termio(7). STANDARDS CONFORMANCE
setsid(2)
All times are GMT -4. The time now is 07:45 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy