终止进程的运行

 步骤

实现此案例需要按照如下步骤进行。
步骤一:运行“sleep 600”命令

分析: 按Ctrl+Shift+t再开一个终端,运行sleep命令,如图-6所示。
在这里插入图片描述
图-6
再另起一个终端操作,查出sleep程序的PID并杀死,命令操作如下所示:

[root@localhost 桌面]# ps aux | grep sleep
root       2738  0.0  0.0 100904   560 pts/1    S+   14:16   0:00 sleep 600
root       2743  0.0  0.0 103256   848 pts/0    S+   14:18   0:00 grep sleep
[root@localhost 桌面]# kill 2738
[root@localhost 桌面]# 

返回运行sleep命令的终端查看,命令操作如下所示:
[root@localhost 桌面]# sleep 600
已终止
[root@localhost 桌面]#
步骤二:运行多个xsnow程序并都放入后台

命令操作如下所示:

[root@localhost 桌面]# xsnow &        //加“&”放入后台运行
[1] 2771
[root@localhost 桌面]# Xsnow-1.42, December 14th 2001 by Rick Jansen (rja@euronet.nl)
WWW: http://www.euronet.nl/~rja/Xsnow/


[root@localhost 桌面]# xsnow &
[2] 2772
[root@localhost 桌面]# Xsnow-1.42, December 14th 2001 by Rick Jansen (rja@euronet.nl)
WWW: http://www.euronet.nl/~rja/Xsnow/


[root@localhost 桌面]# xsnow &
[3] 2773
[root@localhost 桌面]# Xsnow-1.42, December 14th 2001 by Rick Jansen (rja@euronet.nl)
WWW: http://www.euronet.nl/~rja/Xsnow/


[root@localhost 桌面]# jobs     //查询后台进程
[1]   Running                 xsnow &
[2]-  Running                 xsnow &
[3]+  Running                 xsnow &
[root@localhost 桌面]#

杀死所有xsnow进程。
命令操作如下所示:

[root@localhost 桌面]# jobs     //查询后台进程
[1]   Running                 xsnow &
[2]-  Running                 xsnow &
[3]+  Running                 xsnow &
[root@localhost 桌面]# killall  xsnow   //杀死进程名为xsnow

步骤三:su切换为zhangsan用户。‘

分析: 按ctrl+shift+t再开一个终端,通过su命令进行操作,如图-7所示。
在这里插入图片描述
图-7
再开一个终端,强制踢出zhangsan用户。
命令操作如下所示:

[root@localhost 桌面]# pkill -9 -U zhangsan
返回zhangsan登录终端查看:
[root@localhost 桌面]# su - zhangsan
[zhangsan@localhost ~]$ 已杀死 (core dumped)
[root@localhost 桌面]#

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
终止一个使用subprocess模块创建的子进程,可以使用子进程对象的terminate()方法。调用该方法将会发送一个SIGTERM信号给子进程,使其终止运行。 如果你想在终止进程之后获取其退出状态码,可以使用子进程对象的wait()方法。调用该方法会阻塞当前进程,直到子进程结束并返回其退出状态码。 另外,如果你想完全清理子进程的资源,包括其打开的文件和管道,可以使用子进程对象的kill()方法。调用该方法将会发送一个SIGKILL信号给子进程,强制终止运行。 需要注意的是,在终止进程之前,你需要先确保子进程已经被创建并且正在运行。可以使用子进程对象的poll()方法来检查子进程运行状态。如果返回值为None,则表示子进程正在运行;如果返回值为一个整数,则表示子进程已经结束,并且返回的整数为其退出状态码。 另外,还需要注意的是,僵尸进程只会在父进程终止之后被系统自动回收。如果你希望手动回收僵尸进程,可以在父进程中调用os.wait()或os.waitpid()方法来等待子进程的结束,并获取其退出状态码。这样可以避免僵尸进程长时间存在,占用系统资源。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python中借助subprocess产生和关闭子进程](https://blog.csdn.net/qq_41850515/article/details/117081245)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [subprocess解决僵尸进程](https://blog.csdn.net/qq_37746897/article/details/109819788)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Python参考手册(第4版)](https://download.csdn.net/download/duangguangmoon/9256105)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值