linux停止进程

linux停止进程,第1张

在linux系统中停止进程需要以下三个步骤,下面具体介绍以下:

1、打开进程id,用ps命令查找进程,使用-e 选项。通过less的方式输出

2、找到进程,通过grep将ps的输出通过管道传输,并指定该进程的名称。

3、找到要终止的进程,然后通过kill命令来停止进程。

今天的分享就是这些,希望能帮助大家。

本文章基于thinkpadE15品牌、centos7系统撰写的。

示例:在Linux平台上后台运行4个vim进程,使用如下命令即可同时结束掉4个vim进程

ps -efww|grep vim |grep -v grep|cut -c 9-15|xargs kill -9

说明:管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。

“ps -efww”是查看所有进程的命令。这时检索出的进程将作为下一条命令“grep“的输入,注意要结束其它程序时,请将上面命令中的vim替换成其它程序名。

“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。

“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。

“xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该命令。

    “kill -9”会强行杀掉指定进程,这样就成功清除了同名进程。

kill 命令通常用于终止执行中的程序。 kill可将指定的信息送至程序。默认送的信息为SIGTERM (信息编号为15),代表关闭进程

kill -9 pid kill -15 pid (效果等同于 kill pid )

其中 9 和 15 指的是信息编号

什么是信息编号

使用kill -l 命令可以查看信息及编号

信息编号代指不同的信息,不同的信息有不同的含义

可以看到 9代表 SIGKILL,15 代表 SIGTERM 所以 ==kill -9 pid 代表 发送SIGKILL信息给这个pid的程序 kill -15 pid 代表 发送SIGTERM信息给这个pid的程序==

那么 SIGTERM(15)和 SIGKILL(9)有什么区别

SIGTERM :当进程接收到SIGTERM后,大多会先释放自己的资源,再停止进程,属于正常关闭进程,但是如果进程正在工作,处理io等,不会立马关闭,或者 进程卡死的情况,都会导致SIGTERM不起作用。

SIGKILL : SIGKILL信号要求进程 立即关闭,强制关闭进程。

工作中关闭进程时,==先kill pid(默认使用编号15),如果不起作用 再使用 kill -9 pid。==

查看nginx的pid: ps -ef | grep nginx

可以看到nginx的主进程编号 是 7901

正常关闭 nginx的主进程

kill -15 7901 或者 kill 7901 再次查看nginx的进程 发现已经关闭

启动nginx,查看进程号,再强制关闭 nginx

nginx 

ps -ef | grep nginx    

kill -9 9827    

ps -ef | grep nginx 

可以看到 kill -9 只是强制关闭了 nginx的主进程,由于不是正常关闭,worker进程并没有被关闭,这就是强制关闭的弊端,再次关闭worker进程 kill -9 9828

1、kill 命令默认使用的信息编号及信息是什么?

:15,代表正常关闭进程

2、kill -9 pid 中 信息编号9代表什么信息?

:强制关闭进程

3、如何查看kill的信息编号?

:kill -l

4、写出正常关闭 进程编号 为 233 的命令

:kill -15 pid  or  kill pid

5、写出强制关闭 进程编号 为 233 的命令

:kill -9 pid


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6231454.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-18
下一篇 2023-03-18

发表评论

登录后才能评论

评论列表(0条)

保存