Sponsored Content
Full Discussion: Killing processes in scripts
Top Forums Shell Programming and Scripting Killing processes in scripts Post 24596 by el_toro on Monday 15th of July 2002 01:47:04 PM
Old 07-15-2002
Killing processes in scripts

I have a small problem. It's annoying though. I wrote this shell script:
Code:
#
# This script will accept two arguments. The first is a flag and the
# second is a time interval. The only valid flag is '-t' which means
# the user will specify the interval in seconds, otherwise the 
# default is 600 seconds. While the interval is counting, the script
# will run the ps command, cut out the process numbers, and
# place them in a temp file. When the interval is met the script 
# calls another script which uses the temp file and outputs
# the current time, the number of users logged on, and the
# number of processes run during the interval. It will continually
# loop until the script is killed by ^Z.

while [ 1 -eq 1 ]; do

  if test {$1}

  then if [ "$1" = "-t" ]
          then sleep $2; sh colfile &
                let timec=0
                  while [ timec -le $2 ]
                  do
                    ps | cut -f2 -d" " >> proc.tmp
                    let timec=timec+1
                    sleep 1
                  done
           else exit
       fi

  else sleep 5; sh colfile &
       let timec=0
          while [ timec -le 600 ]
          do
            ps | cut -f2 -d" " >> proc.tmp
            let timec=timec+1
            sleep 1
          done
  fi

done

My problem is that when I run it most of the time it will create multiple instances of itself and I have to individually kill each process. I don't know if it is because I don't have an end to the program and have to press ^Z to stop the program or what it is.

When I typed the command:
Code:
sh collect -t 2

After stopping it I did a ps and got this:
Code:
   PID    TTY  TIME CMD
 29372  pts/4  0:00 sh collect -t 2
 33282  pts/4  0:01 -ksh
 37414  pts/4  0:00 ps
 41604  pts/4  0:00 sh collect -t 2
 46194  pts/4  0:00 sh collect -t 2

Notice the 3 instances it created? Does anyone know why it is doing that and how I can stop it or kill the processes right in my script?

Thanks

Last edited by Yogesh Sawant; 06-23-2009 at 04:07 AM.. Reason: added code tags
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Killing idle user processes

I'm looking for some help, please! I'm trying to kill any idle user processes over 40 Minutes. I have tried putting TMOUT=2400 within the users .profile However this does not seem to be working. We run aix 4.3.3 with ORACLE 7.3 The above works o.k. when the user is only within the... (3 Replies)
Discussion started by: annette
3 Replies

2. Solaris

killing all processes for an user

how can I kill all the processes belonging to an user. I need it because I can't see a process initiated by a user and thus unable to kill it. (2 Replies)
Discussion started by: krishan
2 Replies

3. UNIX for Dummies Questions & Answers

forking and killing parent processes

Hi everybody, I'm having some problems wiriting a program in UNIX using the "fork" and "kill" system calls. I have to create a C program P0, which creates 9 other processes P1, P2, ..., P9, where P0 is the father of P1, P1 the father of P2, and so on. All the processes contain an infinite... (0 Replies)
Discussion started by: davewilliams20
0 Replies

4. Shell Programming and Scripting

killing cascade processes

Hi everybody!! I've got a problem. I have a loop like this: while true; do some_work sleep 10m done It's possible to kill the main loop process and kill all childs from it? I want to kill main process and kill the sleep also. I tried kill -9 <loop_pid> with no result ... (4 Replies)
Discussion started by: victorin
4 Replies

5. UNIX for Advanced & Expert Users

Monitoring Processes - Killing hung processes

Is there a way to monitor certain processes and if they hang too long to kill them, but certain scripts which are expected to take a long time to let them go? Thank you Richard (4 Replies)
Discussion started by: ukndoit
4 Replies

6. UNIX for Advanced & Expert Users

killing all child processes

Hi, Is there a way I can kill all the child processes of a process, given its process id. Many thanks in advance. J. (1 Reply)
Discussion started by: superuser84
1 Replies

7. HP-UX

OSF/1 swap file low and killing processes!

Hi, Hoping someone may be able to help with some general guidance. Hope I've posted this in the right forum! I hava DEC Workstation running OSF/1. It's will run for a period of time then slow down to the point it becomes unusable. Then i have to reboot and the whole thing repeats. I... (1 Reply)
Discussion started by: emeak
1 Replies

8. Shell Programming and Scripting

Finding the age of a unix process, killing old processes, killing zombie processes

I had issues with processes locking up. This script checks for processes and kills them if they are older than a certain time. Its uses some functions you'll need to define or remove, like slog() which I use for logging, and is_running() which checks if this script is already running so you can... (0 Replies)
Discussion started by: sukerman
0 Replies

9. Shell Programming and Scripting

killing serious of processes in the server

i am new to unix..i have requirement to kill informatica server process. when i used the below query pidoff "pmserver" it displayed 3 process running.. i need to get the 3 process and kill individual process in shell script. Can you please assit me in this. (2 Replies)
Discussion started by: hkoshekay
2 Replies

10. Shell Programming and Scripting

A script that kills previous instances of itself upon running not killing child processes

I'm likely going to explain this clumsily, so apologies in advance: I have the following script: #!/bin/bash pidPrefix="logGen" checkPrime () { if /sbin/ifconfig eth0:0|/bin/grep -wq inet;then isPrime=1;else isPrime=0;fi } killScript () { /usr/bin/find /var/run -name... (4 Replies)
Discussion started by: DeCoTwc
4 Replies
PTS_SLEEP(1)						       AFS Command Reference						      PTS_SLEEP(1)

NAME
pts_sleep - Pauses for a few seconds SYNOPSIS
pts sleep [-delay] <# of seconds> [-cell] <cell name> [-noauth] [-localauth] [-force] pts sl [-d] <# of seconds> [-c] <cell name> [-n] [-l] [-f] DESCRIPTION
The pts sleep pauses for a specified number of seconds. The command can be run from the command line or interactively, although from the command line it's essentially equivalent to the sleep command. It is intended for use in interactive mode to pause for a few seconds between batch commands to allow the Protection Server to catch up. CAUTIONS
Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the pts sleep command was only available on Unix or Linux and when OpenAFS was compiled with the supergroups option (disabled by default). As of OpenAFS 1.4.5 and 1.5.23, it is always available. OPTIONS
Although they have no effect, pts sleep takes the following standard pts options: -cell <cell name> Names the cell in which to run the command. For more details, see pts(1). -force Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. -help Prints the online help for this command. All other valid options are ignored. -localauth Constructs a server ticket using a key from the local /etc/openafs/server/KeyFile file. Do not combine this flag with the -cell or -noauth options. For more details, see pts(1). -noauth Assigns the unprivileged identity anonymous to the issuer. For more details, see pts(1). OUTPUT
This command produces no output. EXAMPLES
Here is an example of a pts interactive session: % pts interactive pts> sleep 5 pts> quit % SEE ALSO
pts(1), pts_interactive(1) COPYRIGHT
Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com> This documentation is covered by the BSD License as written in the doc/LICENSE file. This man page was written by Jason Edgecombe for OpenAFS. OpenAFS 2014-04-08 PTS_SLEEP(1)
All times are GMT -4. The time now is 06:40 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy