The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
.
google unix.com



UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Parent child Relation !! using awk/sed ??? varungupta UNIX for Advanced & Expert Users 0 01-29-2008 02:24 PM
Parent/Child Processes yoi2hot4ya Shell Programming and Scripting 2 05-31-2006 02:27 PM
parent and child process question? tosa High Level Programming 0 02-16-2005 03:04 PM
How hard can it be? ps child/parent velde046 Filesystems, Disks and Memory 2 05-25-2002 05:36 PM
what are parent and child processes all about? xyyz UNIX for Dummies Questions & Answers 1 04-26-2002 04:53 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 01-09-2003
larry larry is offline
Registered User
  
 

Join Date: Nov 2001
Location: Hawaii
Posts: 79
kill parent and child

Hello all,

I have gone through the search and looked at posting about idle users and killing processes. Here is my question I would like to kill an idle user ( which I can do) but how can I asure that all of his process is also killed whit out tracing his inital start PID. I have tried this on a solaris 8 system but, I seem to make the child process a zombie or hang because of what he was doing. Is there a clean way to do this?
Thanks
  #2 (permalink)  
Old 01-09-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9,131
To kill absolutely every process owned by a non-root user, su to that user and then use:
kill -9 -1
  #3 (permalink)  
Old 01-09-2003
larry larry is offline
Registered User
  
 

Join Date: Nov 2001
Location: Hawaii
Posts: 79
Thanks Perderabo,

What you suggested works great. But I did not fully explain myself. I have a guest account in which guest can use to log on to the server. But some guest do not log off thus the problem. I just want to kill only the select login in.

Here is a print out of who -uH

NAME LINE TIME IDLE PID COMMENTS
guest pts/5 Jan 9 08:11 2:48 10842 (cic2)
guest pts/6 Jan 9 10:44 0:02 11159 (cic4)
guest pts/7 Jan 9 08:56 0:35 11039 (cic65)

As per you suggestion I would use kill -9 -1 10842

But this will kill all users that are login. But I don't want to kill all login. Just guest at pts/5 from machine "cic2". I have looked at the man pages for kill but it does seem to talk about the addtional "-1" after kill -9. Thanks again
  #4 (permalink)  
Old 01-09-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9,131
I never said anything about "kill -9 -1 10842". The command is:
kill -9 -1
press the enter key after the -1. Do not append other integers to this command.

The -1 is pid. Look at the man pages again. I sure have in my man pages.

Since you want to kill only some of a user's processes, you will need to track them down. Maybe a command like "ps -ft pts/5" will help.
  #5 (permalink)  
Old 01-12-2003
sanjay92
Guest
  
 

Posts: n/a
Bits: 0 [Banking]
Re: kill parent and child

Quote:
Originally posted by larry
Hello all,

I have gone through the search and looked at posting about idle users and killing processes. Here is my question I would like to kill an idle user ( which I can do) but how can I asure that all of his process is also killed whit out tracing his inital start PID. I have tried this on a solaris 8 system but, I seem to make the child process a zombie or hang because of what he was doing. Is there a clean way to do this?
Thanks
I have used the following shell script to kill all child PID's for a given PID.


Code:
#!/bin/ksh
# This script will kill all the child process id for a  given pid
#Store the current Process ID
CURPID=$$

# This is process id, parameter passed by user
ppid=$1

if [ -z $ppid ] ; then
   echo No PID given.
   exit;
fi

arraycounter=1
while true
do
        FORLOOP=FALSE
        # Get all the child process id
        for i in `ps -ef| awk '$3 == '$ppid' { print $2 }'`
        do
                if [ $i -ne $CURPID ] ; then
                        procid[$arraycounter]=$i
                        arraycounter=`expr $arraycounter + 1`
                        ppid=$i
                        FORLOOP=TRUE
                fi
        done
        if [ "$FORLOOP" = "FALSE" ] ; then
           arraycounter=`expr $arraycounter - 1`
           ## We want to kill child process id first and then parent id's
           while [ $arraycounter -ne 0 ]
           do
             kill -9 "${procid[$arraycounter]}" >/dev/null
             arraycounter=`expr $arraycounter - 1`
           done
         exit
        fi
done
## Kill Parent ID
kill -9 $CURPID

added code tags for readability --oombera

Last edited by oombera; 02-18-2004 at 08:52 PM..
Closed Thread

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 08:28 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0