kill

kill

进程管理

向进程发送控制信号,以实现对进程管理,每个信号对应一个数字,
信号名称以SIG开头(可省略),不区分大小写
显示当前系统可用信号: kill –l,trap -l

[root@centos ~]#kill -l
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

常用信号:man 7 signal

  1. SIGHUP: 无须关闭进程而让其重读配置文件
  2. SIGINT: 中止正在运行的进程;相当于Ctrl+c
  3. SIGQUIT:相当于ctrl+\
  4. SIGKILL: 强制杀死正在运行的进程
  5. SIGTERM:终止正在运行的进程
  6. SIGCONT:继续运行
  7. SIGSTOP:后台休眠 指定信号的方法:
    (1) 信号的数字标识:1, 2, 9
    (2) 信号完整名称:SIGHUP
    (3) 信号的简写名称:HUP

按PID:kill [-SIGNAL] pid …
kill –n SIGNAL pid
kill –s SIGNAL pid
按名称:killall [-SIGNAL] comm…
按模式:pkill [options] pattern

-SIGNAL
-u uid: effective user,生效者 
-U uid: real user,真正发起运行命令者 
-t terminal: 与指定终端相关的进程
-l: 显示进程名(pgrep可用)
-a: 显示完整格式的进程名(pgrep可用) 
-P pid: 显示指定进程的子进程

注意:
kill -9 1 很危险,表面上没什么 影响,实则会影响再生进程
再生进程:自身进程被杀后,换个 进程编号继续运行(一般如终端)

Linux的作业控制

前台作业:通过终端启动,且启动后一直占据终端;
后台作业:可通过终端启动,但启动后即转入后台运行(释放终端)

让作业运行于后台
(1) 运行中的作业: Ctrl+z
(2) 尚未启动的作业:# COMMAND &
后台作业虽然被送往后台运行,但其依然与终端相关;退出终端,将关闭 后台作业。
如果希望送往后台后,剥离与终端的关系
# nohup COMMAND &> /dev/null
#screen;COMMAND

[root@centos ~]#screen
[root@centos ~]#ping 0
PING 0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.098 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.051 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.053 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.103 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.059 ms
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.048 ms
64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.053 ms
#关掉终端,重新开启终端
[root@centos ~]#screen -ls
There is a screen on:
        5069.pts-1.centos       (Detached)
1 Socket in /var/run/screen/S-root.

[root@centos ~]#screen -r
64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.081 ms
64 bytes from 127.0.0.1: icmp_seq=11 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=12 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=13 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=14 ttl=64 time=0.053 ms
64 bytes from 127.0.0.1: icmp_seq=15 ttl=64 time=0.034 ms
64 bytes from 127.0.0.1: icmp_seq=16 ttl=64 time=0.048 ms
64 bytes from 127.0.0.1: icmp_seq=17 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=18 ttl=64 time=0.051 ms
64 bytes from 127.0.0.1: icmp_seq=19 ttl=64 time=0.051 ms
64 bytes from 127.0.0.1: icmp_seq=20 ttl=64 time=0.052 ms
64 bytes from 127.0.0.1: icmp_seq=21 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=22 ttl=64 time=0.051 ms
64 bytes from 127.0.0.1: icmp_seq=23 ttl=64 time=0.053 ms
64 bytes from 127.0.0.1: icmp_seq=24 ttl=64 time=0.052 ms
64 bytes from 127.0.0.1: icmp_seq=25 ttl=64 time=0.052 ms
64 bytes from 127.0.0.1: icmp_seq=26 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=27 ttl=64 time=0.053 ms
^C
--- 0 ping statistics ---
27 packets transmitted, 27 received, 0% packet loss, time 26001ms
rtt min/avg/max/mdev = 0.034/0.074/0.672/0.117 ms

查看当前终端所有作业:
# jobs
作业控制:
# fg [[%]JOB_NUM]:把指定的后台作业调回前台
# bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行 # kill [%JOB_NUM]: 终止指定的作业

[root@centos ~]#ping 0 &
[1] 4477
[root@centos ~]#PING 0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.044 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.051 ms
ls64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.052 ms

anaconda-ks.cfg  Documents  httpd-2.4.25          motd.txt  SC
b                Downloads  httpd-2.4.25.tar.bz2  Music     Templates
c                ff         initial-setup-ks.cfg  Pictures  Videos
Desktop          hello      jiaoben.sh            Public
[root@centos ~]#64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.050 ms
fg 64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.052 ms
1
ping 0
64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.052 ms
64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.052 ms
ls64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.050 ms

64 bytes from 127.0.0.1: icmp_seq=11 ttl=64 time=0.054 ms
64 bytes from 127.0.0.1: icmp_seq=12 ttl=64 time=0.051 ms
64 bytes from 127.0.0.1: icmp_seq=13 ttl=64 time=0.052 ms
64 bytes from 127.0.0.1: icmp_seq=14 ttl=64 time=0.047 ms
^Z
[1]+  Stopped                 ping 0
[root@centos ~]#jobs
[1]+  Stopped                 ping 0
[root@centos ~]#pidof ping
4477
[root@centos ~]#fg
ping 0
64 bytes from 127.0.0.1: icmp_seq=15 ttl=64 time=0.042 ms
64 bytes from 127.0.0.1: icmp_seq=16 ttl=64 time=0.050 ms
k64 bytes from 127.0.0.1: icmp_seq=17 ttl=64 time=0.052 ms
ill 64 bytes from 127.0.0.1: icmp_seq=18 ttl=64 time=0.051 ms
-64 bytes from 127.0.0.1: icmp_seq=19 ttl=64 time=0.049 ms
1964 bytes from 127.0.0.1: icmp_seq=20 ttl=64 time=0.051 ms
 64 bytes from 127.0.0.1: icmp_seq=21 ttl=64 time=0.052 ms
4464 bytes from 127.0.0.1: icmp_seq=22 ttl=64 time=0.051 ms
764 bytes from 127.0.0.1: icmp_seq=23 ttl=64 time=0.050 ms
7
64 bytes from 127.0.0.1: icmp_seq=24 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=25 ttl=64 time=0.055 ms
64 bytes from 127.0.0.1: icmp_seq=26 ttl=64 time=0.047 ms
64 bytes from 127.0.0.1: icmp_seq=27 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=28 ttl=64 time=0.050 ms
l64 bytes from 127.0.0.1: icmp_seq=29 ttl=64 time=0.048 ms
s
64 bytes from 127.0.0.1: icmp_seq=30 ttl=64 time=0.040 ms
64 bytes from 127.0.0.1: icmp_seq=31 ttl=64 time=0.061 ms
64 bytes from 127.0.0.1: icmp_seq=32 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=33 ttl=64 time=0.051 ms
ls64 bytes from 127.0.0.1: icmp_seq=34 ttl=64 time=0.040 ms

64 bytes from 127.0.0.1: icmp_seq=35 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=36 ttl=64 time=0.050 ms
ki64 bytes from 127.0.0.1: icmp_seq=37 ttl=64 time=0.052 ms
ll 64 bytes from 127.0.0.1: icmp_seq=38 ttl=64 time=0.058 ms
-64 bytes from 127.0.0.1: icmp_seq=39 ttl=64 time=0.059 ms
1964 bytes from 127.0.0.1: icmp_seq=40 ttl=64 time=0.050 ms
 64 bytes from 127.0.0.1: icmp_seq=41 ttl=64 time=0.047 ms
64 bytes from 127.0.0.1: icmp_seq=42 ttl=64 time=0.048 ms
64 bytes from 127.0.0.1: icmp_seq=43 ttl=64 time=0.051 ms
 44764 bytes from 127.0.0.1: icmp_seq=44 ttl=64 time=0.044 ms
7
64 bytes from 127.0.0.1: icmp_seq=45 ttl=64 time=0.045 ms
64 bytes from 127.0.0.1: icmp_seq=46 ttl=64 time=0.050 ms
^C
--- 0 ping statistics ---
46 packets transmitted, 46 received, 0% packet loss, time 87637ms
rtt min/avg/max/mdev = 0.040/0.049/0.061/0.010 ms
[root@centos ~]#ping 0 &  
[1] 4500
[root@centos ~]#PING 0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.090 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.052 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.051 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.052 ms
f64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.048 ms
g
ping 0
64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.061 ms
64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.051 ms
64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=11 ttl=64 time=0.049 ms
^C
--- 0 ping statistics ---
11 packets transmitted, 11 received, 0% packet loss, time 10001ms
rtt min/avg/max/mdev = 0.048/0.054/0.090/0.014 ms
[root@centos ~]#ping 0 &
[1] 4501
[root@centos ~]#PING 0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.044 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.062 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.049 ms
ld64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.041 ms

ld: no input files
[root@centos ~]#64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.050 ms
ls64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.043 ms

anaconda-ks.cfg  Documents  httpd-2.4.25          motd.txt  SC
b                Downloads  httpd-2.4.25.tar.bz2  Music     Templates
c                ff         initial-setup-ks.cfg  Pictures  Videos
Desktop          hello      jiaoben.sh            Public
[root@centos ~]#64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.052 ms
64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.051 ms
fg 64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.059 ms
1
ping 0
64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.064 ms
l64 bytes from 127.0.0.1: icmp_seq=11 ttl=64 time=0.051 ms
s
64 bytes from 127.0.0.1: icmp_seq=12 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=13 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=14 ttl=64 time=0.061 ms
64 bytes from 127.0.0.1: icmp_seq=15 ttl=64 time=0.058 ms
^Z
[1]+  Stopped                 ping 0
[root@centos ~]#jobs
[1]+  Stopped                 ping 0
[root@centos ~]#fg 1
ping 0
64 bytes from 127.0.0.1: icmp_seq=16 ttl=64 time=0.035 ms
64 bytes from 127.0.0.1: icmp_seq=17 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=18 ttl=64 time=0.047 ms
^Z
[1]+  Stopped                 ping 0
[root@centos ~]#pidof ping
4501
[root@centos ~]#kill -18 pid
-bash: kill: pid: arguments must be process or job IDs
[root@centos ~]#kill -18 4501
[root@centos ~]#64 bytes from 127.0.0.1: icmp_seq=19 ttl=64 time=0.726 ms
64 bytes from 127.0.0.1: icmp_seq=20 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=21 ttl=64 time=0.058 ms
64 bytes from 127.0.0.1: icmp_seq=22 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=23 ttl=64 time=0.048 ms
ls
anaconda-ks.cfg  Documents  httpd-2.4.25          motd.txt  SC
b                Downloads  httpd-2.4.25.tar.bz2  Music     Templates
c                ff         initial-setup-ks.cfg  Pictures  Videos
Desktop          hello      jiaoben.sh            Public
[root@centos ~]#64 bytes from 127.0.0.1: icmp_seq=24 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=25 ttl=64 time=0.049 ms
fg 64 bytes from 127.0.0.1: icmp_seq=26 ttl=64 time=0.051 ms
1
ping 0
64 bytes from 127.0.0.1: icmp_seq=27 ttl=64 time=0.047 ms
64 bytes from 127.0.0.1: icmp_seq=28 ttl=64 time=0.050 ms
ls
64 bytes from 127.0.0.1: icmp_seq=29 ttl=64 time=0.052 ms
64 bytes from 127.0.0.1: icmp_seq=30 ttl=64 time=0.046 ms
64 bytes from 127.0.0.1: icmp_seq=31 ttl=64 time=0.048 ms
^C
--- 0 ping statistics ---
31 packets transmitted, 31 received, 0% packet loss, time 129711ms
rtt min/avg/max/mdev = 0.035/0.072/0.726/0.119 ms

同时运行多个进程,提高效率
方法1
vi all.sh
f1.sh&
f2.sh&
f3.sh&
方法2
(f1.sh&);(f2.sh&);(f3.sh&)
方法3
{ f1.sh& f2.sh& f3.sh& }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,039评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,223评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,916评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,009评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,030评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,011评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,934评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,754评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,202评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,433评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,590评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,321评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,917评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,568评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,738评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,583评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,482评论 2 352

推荐阅读更多精彩内容

  • 语法: kill -SIGNAL pid SIGNAL是信号,kill -l可以查看支持的信号 常用信号: 1) ...
    会玩linux不阅读 1,936评论 0 0
  • Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管...
    很少更新了阅读 534评论 0 1
  • 关于三个工具,ps,pstree和kill 在linux中ps是一个极为重要的工具,它用于查看我们我们系统中的进程...
    杜肇启阅读 1,582评论 0 0
  • kill 命令 用于终止指定的进程(terminate a process),是 Unix/Linux 下进程管理...
    cityhash123阅读 13,605评论 2 5
  • 版权声明:本文为 stormzhang 原创文章,可以随意转载,但必须在明确位置注明出处!!! 1. 前言 前一段...
    pyx0225阅读 608评论 0 13