Sponsored Content
Full Discussion: Kill a program from bash
Top Forums UNIX for Dummies Questions & Answers Kill a program from bash Post 302910585 by Don Cragun on Friday 25th of July 2014 01:34:49 PM
Old 07-25-2014
In cases where pkill isn't available or where more than one invocation of mousepad might be running on your system (if your system can be configured with multiple devices that can be controlled by mousepad), the following might be safer and will user fewer system resources:
Code:
mousepad& mousepadPID=$!; sleep 3; kill $mousepadPID

or, as long as you don't start any other background jobs before you call kill, just:
Code:
mousepad& sleep 3; kill $!

The shell special parameter $! expands to the decimal process ID of the most recent background command. This is MUCH MUCH more efficient and MUCH less error prone than searching ps output or using pkill to identify that command's process ID.
 

10 More Discussions You Might Find Interesting

1. Programming

C program to kill root processes

Hello, First let me start by saying I have searched the forum and read all the SUID stuff but it is not in the neighborhood I am looking for. Here is the problem. We want to grant a non super-user permission to kill root processes but only if the process matches certain criteria. ... (8 Replies)
Discussion started by: TioTony
8 Replies

2. Programming

kill textrdit program

Dear All: I use sun OS system and write a code in c as folloing purpose kill textedit program,but i get some error please give me a great help Thanks. #include <stdlib.h> int main() { const char cTestPrag=" kill -9 `ps -ef | grep textedit | grep -v "grep"| awk '{print $2}'| xargs` "; ... (6 Replies)
Discussion started by: jeter
6 Replies

3. Shell Programming and Scripting

kill multiple instances of the same program

Hi, I know that the answer to this is very simple, since I saw somebody do it some time back..but I forgot how. The problem is, I have multiple instances of the same program running simultaneously and I want to kill them all in a single command. I know that it can be done using awk '{print... (12 Replies)
Discussion started by: ipzig
12 Replies

4. Shell Programming and Scripting

Trying to kill a program via help command.

Hi all, I have a program and I'm trying to kill it. I'm probably going the longest way around of doing it but now that I've tried to get this to work for a few hours I'd appreciate some help :) So the program has an infinite loop which keeps it going, as of right now I just simply if exit then... (5 Replies)
Discussion started by: TiznaraN
5 Replies

5. Shell Programming and Scripting

Kill the running program

Dear All, I have a script which after executing is not stoping when i press ctrl+c. Now i want to Append the script in such a way when i press ctrl+c while execution of the program it should take it as arguements and should kill the script/running program forcefully. I know the command to... (1 Reply)
Discussion started by: akhtar.bhat
1 Replies

6. Shell Programming and Scripting

Kill -9 within Bash script kicks out usage info

I have a start|stop|restart script for a custom app we have. After it tries to stop our process the correct way, it checks to see if it's gone, if not it tries to kill it, if that doesn't work kill -9. If I run kill -9 on the PID from the command line it kills it and all is well. If I have the... (1 Reply)
Discussion started by: mglenney
1 Replies

7. Shell Programming and Scripting

Kill shell script when host program not running/disk unmounted

I have my Mac OS X program executing a shell script (a script that copies files to a drive). I want to make it so that the shell script automatically kills itself if it finds that the host .app is not running OR kill itself if the drive that it is copying files to has been unmounted. Right now what... (2 Replies)
Discussion started by: pcwiz
2 Replies

8. UNIX for Dummies Questions & Answers

Kill a running program?

Hello i'm trying to make a program which can find a running program on the system and kill it, then repeat that every 5 minutes. The name of the process is given with an argument. I have done this so far, but still not working. if $1 in $(ps -e) ; then kill $(pidof $1) sleep 5m fi (3 Replies)
Discussion started by: petel1
3 Replies

9. Shell Programming and Scripting

Functions, exit, and kill in bash

Hello Okay, for reasons related to sourcing a script from another script, I've had to put my main loop into a function, and from there I call other functions. My problem then is exiting from deep within the function call stack. I used to simply call exit, and that would accomplish what I... (1 Reply)
Discussion started by: brsett
1 Replies

10. Shell Programming and Scripting

Kill specific terminal using shell/bash

Hello elite shell/bash specialists, I have done plenty of STFW and some RTFM, but I cannot find a clear solution to my challenge Goal: My goal is to have a script(of any language, preferably shell/bash/anything that can run things on unix), which will kill specific unix terminal windows for... (0 Replies)
Discussion started by: kamil-mech
0 Replies
PKILL(1)						    BSD General Commands Manual 						  PKILL(1)

NAME
pgrep, pkill -- find or signal processes by name SYNOPSIS
pgrep [-Lafilnoqvx] [-F pidfile] [-G gid] [-P ppid] [-U uid] [-d delim] [-g pgrp] [-t tty] [-u euid] pattern ... pkill [-signal] [-ILafilnovx] [-F pidfile] [-G gid] [-P ppid] [-U uid] [-g pgrp] [-t tty] [-u euid] pattern ... DESCRIPTION
The pgrep command searches the process table on the running system and prints the process IDs of all processes that match the criteria given on the command line. The pkill command searches the process table on the running system and signals all processes that match the criteria given on the command line. The following options are available: -F pidfile Restrict matches to a process whose PID is stored in the pidfile file. -G gid Restrict matches to processes with a real group ID in the comma-separated list gid. -I Request confirmation before attempting to signal each process. -L The pidfile file given for the -F option must be locked with the flock(2) syscall or created with pidfile(3). -P ppid Restrict matches to processes with a parent process ID in the comma-separated list ppid. -U uid Restrict matches to processes with a real user ID in the comma-separated list uid. -d delim Specify a delimiter to be printed between each process ID. The default is a newline. This option can only be used with the pgrep command. -a Include process ancestors in the match list. By default, the current pgrep or pkill process and all of its ancestors are excluded (unless -v is used). -f Match against full argument lists. The default is to match against process names. -g pgrp Restrict matches to processes with a process group ID in the comma-separated list pgrp. The value zero is taken to mean the process group ID of the running pgrep or pkill command. -i Ignore case distinctions in both the process table and the supplied pattern. -l Long output. For pgrep, print the process name in addition to the process ID for each matching process. If used in conjunction with -f, print the process ID and the full argument list for each matching process. For pkill, display the kill command used for each process killed. -n Select only the newest (most recently started) of the matching processes. -o Select only the oldest (least recently started) of the matching processes. -q Do not write anything to standard output. -t tty Restrict matches to processes associated with a terminal in the comma-separated list tty. Terminal names may be of the form ttyxx or the shortened form xx. A single dash ('-') matches processes not associated with a terminal. -u euid Restrict matches to processes with an effective user ID in the comma-separated list euid. -v Reverse the sense of the matching; display processes that do not match the given criteria. -x Require an exact match of the process name, or argument list if -f is given. The default is to match any substring. -signal A non-negative decimal number or symbolic signal name specifying the signal to be sent instead of the default TERM. This option is valid only when given as the first argument to pkill. If any pattern operands are specified, they are used as regular expressions to match the command name or full argument list of each process. Note that a running pgrep or pkill process will never consider itself as a potential match. EXIT STATUS
The pgrep and pkill utilities return one of the following values upon exit: 0 One or more processes were matched. 1 No processes were matched. 2 Invalid options were specified on the command line. 3 An internal error occurred. SEE ALSO
kill(1), killall(1), ps(1), flock(2), kill(2), sigaction(2), pidfile(3), re_format(7) HISTORY
The pkill and pgrep utilities first appeared in NetBSD 1.6. They are modelled after utilities of the same name that appeared in Sun Solaris 7. They made their first appearance in FreeBSD 5.3. AUTHORS
Andrew Doran <ad@NetBSD.org> BSD
February 11, 2010 BSD
All times are GMT -4. The time now is 06:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy