美文网首页
kill命令

kill命令

作者: 会玩linux不 | 来源:发表于2017-08-27 17:53 被阅读0次

语法:

kill -SIGNAL pid
SIGNAL是信号,kill -l可以查看支持的信号

常用信号:

1) SIGHUP: 无须关闭进程而让其重读配置文件
2) SIGINT: 中止正在运行的进程;相当于Ctrl+c
3) SIGQUIT:相当于ctrl+\
9) SIGKILL: 强制杀死正在运行的进程
15) SIGTERM:终止正在运行的进程
18) SIGCONT:继续运行
19) SIGSTOP:后台休眠

指定信号的方法:

(1) 信号的数字标识:1, 2, 9
(2) 信号完整名称:SIGHUP (3) 信号的简写名称:HUP

例子:

kill -9 2377 #终止2377正在运行的进程
kill -9 2378 #让2377 的休眠
kill -18 2378 #让2377继续运行
通常用命令ps aux |grep httpd(输入要找到包信息)找到文件的进程号,执行kill让它重新生效 一般都是kill -1 3108UA 后面是进程号这里-HUP=1

按名称 Killall:

语法:

killall [-SIGNAL] comm… #后面跟的是程序
kill 只能一次杀一个进程,如果是一百个进程杀就比较麻烦了,所######以killall就解决了这个问题。
例如:我要杀掉httpd 这程序的所有进程就可以直接一条命令
[root@centos6 ~]# kill -9 httpd
-9是强制杀死的意思

按模式:pkill

语法:

[options] pattern

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

例子:

我要杀掉wang用户所有运行的进程,可以用命令
pkill -9 -u wang
pkill -9 -t pts/0 #-t是指定终端号

作业管理

Linux 的作业控制

前台作业:通过终端启动,且启动后一直占据终端
后台作业:可通过终端启动,但启动后即转入后台运行(释放终端)
让作业运行于后台
(1) 运行中的作业: Ctrl+z
(2) 尚未启动的作业: COMMAND & COMMAND是命令的意思
后台作业虽然被送往后台运行,但其依然与终端相关;退出终端,将关闭
后台作业。如果希望送往后台后,剥离与终端的关系
nohup COMMAND &>/dev/null &
screen;COMMAND
查看当前终端所有作业:jobs
作业控制:
fg [[%]JOB_NUM] :把指定的后台作业调回前台
bg [[%]JOB_NUM] :让送往后台的作业在后台继续运行
kill [%JOB_NUM]: 终止指定的作业

例子:

1 ping 172.18.0.1 & & 命令直接放在后台运行
图中可以看到显示的内容,也可以直接输入要运行的命令,注意放在后台运行的,按 ctrl + c 命令是结束不了的,需要用到 jobs 命令来查看后台运行的任务列表号,然后 用命令 fg 3 (3是工作号) 调回到前台再用ctrl + c 就可以结束了。也可以用 kill %3
2、screen的用法
就是当我们工作中通常用远程去执行一个动作和备份或者其他命令时,花的时间长,在这期间突然网络会中断,任务没完成,这时候我们就可以用开启scree会话来解决。
流程:
输入screen命令
然后执行要运行的任务就可以了,例如我们执行ping的任务
在另一个窗口查看它们的进程关系,也可以再ps aux 命令查看
现在我们把网络断了,在查看它的进程,发现会话和ping的进程还在说明即使断网了任务还在运行,等网络正常了重新启动任务就可以了。
命令:screen -ls 查看会话处于休眠中,-r 是恢复会话的意思。
*注意在6上我们放在后台执行网络一段还在执行,7上即使放在后台执行网络一断就不执行了。

并行运行:

同时运行多个进程,提高效率
方法1
vim all.sh
f1.sh&
f2.sh&
f3.sh&
用于想要同时进行多种任务,节省时间

案例:

1 创建f1 和 f2 两个脚本,一般如果不放在后台执行就按顺讯先执行f1.sh完成后才执行f2.sh,如果我们想要同时并行执行就创建新的all.sh及脚本把他们全都放进去,后面加&后台执行的命令,赋予权限,在执行./all.sh就可以了。
一旦想要停止,all是前台执行就用ps aux 查看 ,用killall f1.sh 直接杀就可以了。
2 (./f1.sh &);(./f2.sh &);(./f3.sh &)
用分号隔开执行多条命令这种方法比较简单,如果我们想停止停不下了,用killall f1.sh 或者killall f2.sh
3 { ./f1.sh& ./f2.sh& ./f3.sh& } 记得要加相对路径 . 停止任务也是同上

相关文章

  • linux命令学习汇总~三

    kill命令 kill -9 +进程号 彻底杀死进程 kill -15 +进程号 正常关闭进程 kill -19...

  • Linux信号发送命令之kill命令

    kill 作用:向进程发送信号。 注意: kill命令只是用来向进程发送信号的,而不是直接杀死进程。 kill命令...

  • linux 的 kill

    kill kill 命令是一个常用的命令,常用来杀死某些进程,但其实是向进程发送信号; kill - send a...

  • [Linux] kill 、killall、pkill 命令详解

    KILL 命令Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Li...

  • kill命令

    参考链接http://man.linuxde.net/kill 先用ps查找进程,然后用kill杀掉: ps -e...

  • kill命令

    语法: kill -SIGNAL pid SIGNAL是信号,kill -l可以查看支持的信号 常用信号: 1) ...

  • kill命令

    我们都知道,想要在Linux中终止一个进程有两种方式,如果是前台进程可以使用Ctrl+C键进行终止;如果是后台进程...

  • kill命令

    kill [-s ] 信息名称或者编号 指定要发送的消息 kill [-l] 信息编号 若不加-l 会列出全部的信...

  • kill命令使用总结

    简介 kill命令用来终止指定的进程的运行。通过ps或者top命令获取进程的PID,然后用kill命令杀掉该进程。...

  • nginx学习笔记二 location配置

    kill命令格式: kill 是向进程发送信号的命令。Nginx的信号1)、TERM、INT 快速关闭2)、QUI...

网友评论

      本文标题:kill命令

      本文链接:https://www.haomeiwen.com/subject/iuxidxtx.html