如何在LinuxShell中强制python退出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在LinuxShell中强制python退出相关的知识,希望对你有一定的参考价值。

有一个test.py文件,功能就是一个死循环。
在linuxShell中运行python test.py后怎么强制退出?
ctrl+C貌似不行。。。

    另开一个终端,ps查看test.py的进程号,然后kill -9杀死该进程。

    或直接退出当前运行终端。

追问

请教,为什么其他一些程序在shell中用命令跑起来后,可以用ctrl+C终止,而python不行?

追答

ctrl+C其实是发送SIGTERM的信号,而SIGTERM信号可以被用户态的进程所截获并且可以由用户去控制收到信号后的处理(如直接忽视,直接忽视就像你看到的,进程不会退出)。
如果对这方面感兴趣,可以看看LINUX的信号机制。

参考技术A [root@node2 ~]# python
Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()

输入quit()即可正常退出追问

抱歉,你理解错意思了。。。。

追答

确实,不好意思。

参考技术B root@iZ23he122ynZ:~# ps -ef|grep python
root     16346     1  0 May28 ?        00:00:11 python WebMain.py 81
root     16871 16849  0 08:44 pts/0    00:00:00 grep --color=auto python
root@iZ23he122ynZ:~# 

想要结束 root     16346     1  0 May28 ?        00:00:11 python WebMain.py 81
那就直接运行命令 ps -ef|grep WebMain.py|grep -v grep|cut -c 9-15|xargs kill -9

这些可以写到shell 命令中

参考技术C 找到解决方法没有,找到了分享一下 参考技术D 只能关闭当前控制台,可以先按ctrl+shift+T创建一个控制台在关

强制ubuntu登陆用户退出

 

#skill -KILL -u user1 杀死并注销user1。

 #skill -CONT -u user1 恢复user1。

 

在Windows 2003默认情况下,三个以上就远程不了,必须强制登录把已登录的人踢出来。在已登录的用户中,可以通过任务管理器->用户->右键注销其他在线用户,你有没有想过在Linux如何实现呢。

先用w查看在线用户。

goface ~ # w

11:53:14 up 53 min,  3 users,  load average: 0.00, 0.01, 0.05

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT

root     pts/0    192.168.1.8      11:11    0.00s  0.51s  0.02s w

goface   tty7     :0               11:11   53:25  42.50s  0.23s gnome-session –session=classic-gnome

root     pts/1    192.168.1.8      11:38   14:53   0.37s  0.37s -bash

那么如何把别人踢过去呢,呵呵。

#pkill -kill -t tty

#pkill -kill -t pts/1

再w一下,发现另一个连接终端被踢了,呵呵。

另外也可以使用skill命令。如

#skill -KILL -t pts/1  能达到同样的效果。

#skill -STOP -u user1

#skill -KILL -u user1 杀死并注销user1。

当然ps grep找出进程杀死也可以实现,不过没有使用上面的命令方便。

以上是关于如何在LinuxShell中强制python退出的主要内容,如果未能解决你的问题,请参考以下文章

我如何强制我的代码在 python 中打印

在VB中,如何强制退出循环结构

MFC在视类中如何退出程序

python def定义完函数后怎么退出,以及如何调用函数

为啥在linux shell中ssh远程执行脚本时退出[重复]

mac强制退出windowserver