Not bad for a beginner. I'm surprised the line with the "if" isn't a problem, however. You need a space between [ and $IPCNT.
Second, it's better to do a kill -1 $PID than kill -9. The former will try to close the child processes of a shell, while the latter may result in hung child processes. Better yet, don't just kill the process, but kill the process group. This is the second field from "ps -j $PID". So you can do:
It might also be necessary to wait for two seconds before continuing the script, giving the system a chance to perform the kills before the script continues. Adding "sleep 1" I think might be enough.
Also, you don't have to do a cat every time -- grep, sed, awk can all take a filename as an argument -- but maybe using cat helps you keep things straight. Also, no need to do a grep and then an awk. Awk does both. (sed -n works similarly.)
My system's "whoami" doesn't work the same as yours, otherwise I could test a similar script. But fix the problem with the bracket
Hi,
I have logged into a Sun Solaris machine( Putty -telnet ) , which got hung.
now I need to kill the process - ksh
When I tried to kill like : kill -9 <pid of ksh> , it is not giving any error , but the process is not getting killed...
Here is what I did
$ps -fu shihab
... (5 Replies)
Hi ,
I have modified .profile and after that i ran it as .profile. Now no command i working even ls is not working
When i type ls , it is showing that -ksh not found
I tried to run as . $home/.profile , it is saying as permission denied .
How can we do that .. any idea..
Thanks... (2 Replies)
I have X4500 and I created a user. I wanted to give him root privileges and for editing the sudoers files I typed visudo sudoers. But it said visudo command not found. After googling I found that we need to set path in etc/profile. I edited that and put the following command
... (3 Replies)
Two boxes we just reloaded to use as a two node HACMP cluster to insure our software is compatible.
Install disks we received at our library on 5/2009 AIX 5.3-ML10
For sake of argument names ibmaix1 and ibmaix2
On both:
ibmaix1# oslevel -r
5300-10
.rhosts files with 600 permissions... (0 Replies)
I am using Solaris ...
I have some settings in my .profile and in .profile iam calling some scripts.
After i logged in to that box if i gave "bash" and proceed with my shorcuts(alias) are not working . (3 Replies)
Hi All,
I tried creating a .profile file but it is not working even after exiting the session.
But before that I will give a quick background.
I log into UNIX(SUN - ksh) and then SUDO to another user. After that I change DIRECTORY. In this DIRECTORY I tried creating the profile file but it... (4 Replies)
Hi All,
I tried killing a bunch of scripts. They seem to have worked because
ps -ef | grep -i SCRIPT_NAME is not showing them but the logs are getting populated and jobs in the script are getting done.
How do I really kill them or atleast see the process running?
Thanks
Sumeet (12 Replies)
Hi All,
I am calling a shell script from another shell script, however, it only executes part of it (the echo commands only). What could be some causes for that?
For example:
ShellScriptA.sh:
...
...
...
. ShellScriptB.sh
ShellScriptB.sh contents:
echo date
echo... (7 Replies)
Hi
I have numerous files names
product_host_result_B1000842.txt
product_host_result_B1000847.txt
product_host_result_C1000842.txt
product_host_result_C1000848.txt
etc. I need them renamed so that the 'product_host_result' becomes 'output_product_host' but the rest of the filename is... (6 Replies)
Discussion started by: Grueben
6 Replies
LEARN ABOUT MINIX
killall
KILLALL(1) User Commands KILLALL(1)NAME
killall - kill processes by name
SYNOPSIS
killall [-Z, --context pattern] [-e, --exact] [-g, --process-group] [-i, --interactive] [-n, --ns PID] [-o, --older-than TIME]
[-q, --quiet] [-r, --regexp] [-s, --signal SIGNAL, -SIGNAL] [-u, --user user] [-v, --verbose] [-w, --wait] [-y, --younger-than TIME]
[-I, --ignore-case] [-V, --version] [--] name ...
killall -l
killall -V, --version
DESCRIPTION
killall sends a signal to all processes running any of the specified commands. If no signal name is specified, SIGTERM is sent.
Signals can be specified either by name (e.g. -HUP or -SIGHUP) or by number (e.g. -1) or by option -s.
If the command name is not regular expression (option -r) and contains a slash (/), processes executing that particular file will be
selected for killing, independent of their name.
killall returns a zero return code if at least one process has been killed for each listed command, or no commands were listed and at least
one process matched the -u and -Z search criteria. killall returns non-zero otherwise.
A killall process never kills itself (but may kill other killall processes).
OPTIONS -e, --exact
Require an exact match for very long names. If a command name is longer than 15 characters, the full name may be unavailable (i.e.
it is swapped out). In this case, killall will kill everything that matches within the first 15 characters. With -e, such entries
are skipped. killall prints a message for each skipped entry if -v is specified in addition to -e,
-I, --ignore-case
Do case insensitive process name match.
-g, --process-group
Kill the process group to which the process belongs. The kill signal is only sent once per group, even if multiple processes
belonging to the same process group were found.
-i, --interactive
Interactively ask for confirmation before killing.
-l, --list
List all known signal names.
-n, --ns
Match against the PID namespace of the given PID. Use 0 to match against all namespaces. The default is to match against the current
PID namespace.
-o, --older-than
Match only processes that are older (started before) the time specified. The time is specified as a float then a unit. The units
are s,m,h,d,w,M,y for seconds, minutes, hours, days, weeks, Months and years respectively.
-q, --quiet
Do not complain if no processes were killed.
-r, --regexp
Interpret process name pattern as a POSIX extended regular expression, per regex(3).
-s, --signal, -SIGNAL
Send this signal instead of SIGTERM.
-u, --user
Kill only processes the specified user owns. Command names are optional.
-v, --verbose
Report if the signal was successfully sent.
-V, --version
Display version information.
-w, --wait
Wait for all killed processes to die. killall checks once per second if any of the killed processes still exist and only returns if
none are left. Note that killall may wait forever if the signal was ignored, had no effect, or if the process stays in zombie
state.
-y, --younger-than
Match only processes that are younger (started after) the time specified. The time is specified as a float then a unit. The units
are s,m,h,d,w,M,y for seconds, minutes, hours, days, weeks, Months and years respectively.
-Z, --context
(SELinux Only) Specify security context: kill only processes having security context that match with given extended regular expres-
sion pattern. Must precede other arguments on the command line. Command names are optional.
FILES
/proc location of the proc file system
KNOWN BUGS
Killing by file only works for executables that are kept open during execution, i.e. impure executables can't be killed this way.
Be warned that typing killall name may not have the desired effect on non-Linux systems, especially when done by a privileged user.
killall -w doesn't detect if a process disappears and is replaced by a new process with the same PID between scans.
If processes change their name, killall may not be able to match them correctly.
killall has a limit of names that can be specified on the command line. This figure is the size of an unsigned long multiplied by 8. For
most 32 bit systems the limit is 32 and similarly for a 64 bit system the limit is usually 64.
SEE ALSO kill(1), fuser(1), pgrep(1), pidof(1), pkill(1), ps(1), kill(2), regex(3).
psmisc 2017-06-12 KILLALL(1)