-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathmykill
49 lines (42 loc) · 1.24 KB
/
mykill
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/env bash
echo_and_run() { echo "$*" ; "$@" ; }
if [ $# -lt 1 ]; then
echo "error param"
echo "grep all program name and kill all"
echo "Usage: mykill [program_name] [yes/no]"
exit -1
fi
yes_no=no
if [ $1 ]; then
if [ $1 = 'help' -o $1 = '-h' -o $1 = '--help' ]; then
echo "error param"
echo "grep all program name and kill all"
echo "Usage: mykill [program_name] [yes/no]"
exit -1
fi
if [ $2 ]; then
yes_no=$2
fi
echo "fond program:"
echo ""
echo_and_run echo "ps -ef |grep $1 |grep -v grep |grep -v sh |grep -v bash " |bash -
if [ $yes_no = 'no' ]; then
echo ""
echo "using no, will not kill, just list pids"
echo_and_run echo "ps -ef |grep $1 |grep -v grep |grep -v sh |grep -v bash |awk -F ' ' '{print \$2}' " |bash -
echo ""
echo "done"
exit 0
fi
if [ $yes_no = 'yes' ]; then
echo ""
echo "using yes, will kill pids"
ps -ef |grep $1 |grep -v grep |grep -v sh |grep -v bash |awk -F ' ' '{print $2}' |xargs kill -9
echo ""
echo "done kill"
exit 0
fi
else
echo $1
fi
echo "error"