Solved

How can I "set process group" at the shell level

Posted on 2002-04-17
7
188 Views
Last Modified: 2010-04-21
Is there anyway at the shell level to start multiple background processes, each one in its own process group?
0
Comment
Question by:zebada
  • 3
  • 3
7 Comments
 
LVL 5

Expert Comment

by:ecw
ID: 6950212
Running ksh or csh, background task are all in their own process group, its the way job control works.

What shell are you using?
0
 
LVL 6

Author Comment

by:zebada
ID: 6950229
I understand what it's for I just want to know if I can prevent it.

I know I can write a small C program to fork() and setpgrp() and spawn processes that way but I thought it would be easier to do via the shell if it is possible

I'm using ksh or csh I don't mind. (On HPUX and Tru64)

I have an application that is started multiple times by a single shell script. These processes serve up html. The program has a "bug" in that if the server gets a SIGSEGV, it will re-send a SIGSEGV to all other servers in its process groups like this:

if ( sig==SIGSEGV )
  kill(0,sig);

I have removed this "stupid" piece of code but until the app can be redeployed on site I need some way to prevent a rogue process from taking out ALL the other web servers.

Any ideas?
0
 
LVL 5

Accepted Solution

by:
ecw earned 50 total points
ID: 6951467
By default interactive ksh's start put background jobs in a fresh process group, if the your running from s shell script, turn this feature on using
  set -m
0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 6

Author Comment

by:zebada
ID: 6951795
Yes, but this doesn't help me. Interactive ksh does put background processes in a "fresh" process group - meaning that the process group is different from the ksh process - but the process group is still the same for ALL background processes.
The -m option just controls whether or not the background processes' process group id is the same as the shell or not.
0
 
LVL 5

Expert Comment

by:ecw
ID: 6952982
Ok, hack it, do you need to maintain parent-child relationship with the foreground shell?  If not, maybe starting the other pipelines with eg.

  ksh -m -c "command | command &" &
0
 
LVL 20

Expert Comment

by:tfewster
ID: 7833732
No comment has been added lately, so it's time to clean up this Topic Area.
I will leave a recommendation for this question in the Cleanup topic area as follows:

- Answered by ecw

Please leave any comments here within the next 7 days

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER !

tfewster (I don't work here, I'm just an Expert :-)
0
 
LVL 6

Author Comment

by:zebada
ID: 7833952
Sorry I didn't get back to this q.
-m did the trick :)
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

This tech tip describes how to install the Solaris Operating System from a tape backup that was created using the Solaris flash archive utility. I have used this procedure on the Solaris 8 and 9 OS, and it shoudl also work well on the Solaris 10 rel…
Introduction Regular patching is part of a system administrator's tasks. However, many patches require that the system be in single-user mode before they can be installed. A cluster patch in particular can take quite a while to apply if the machine…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now