如何在Ubuntu中杀死进程?

如何杀死我自己的非root帐户运行的所有进程?

我有一些旋转smbd进程,我从我的Windows机器,所以我telnet到Linux服务器,我想杀死那些旋转过程。 我无权重启服务或重启机器。

要杀死您有权杀死的所有进程,只需运行该命令即可

kill -15 -1kill -9 -1具体取决于所需的行为(详情请使用man kill

要杀死一个特定的进程,比如firefox,只需运行即可

pkill firefoxkillall firefox取决于你想要的行为: ‘killall’和’pkill’之间有什么区别?

如果要查看正在运行的进程,请使用该命令

 ps -ef 

如果您想通过用户bob查找所有进程,这可能会有所帮助

 pgrep -l -u bob 

要么

 ps -ef | grep bob 

使用sudo kill sudo killall

让我们尝试更多:

 sudo apt-get install htop 

top命令是查看系统资源使用情况的传统方法,并查看占用最多系统资源的进程。 Top显示进程列表,其中顶部使用最多的CPU。

htop以更易于理解的布局显示相同的信息。 它还允许您使用箭头键选择进程并使用F键执行操作,例如终止或更改其优先级。

您可以使用

 ps -ax | grep application name 

如果您在终端中搜索firefox类型,如ps -ax | grep firefox ps -ax | grep firefox ,它显示相应应用程序的进程ID。 如果进程id = 1317,你可以通过kill命令停止该应用程序,

 kill -9 1317 

我会用xkill 。 在终端中输入xkill并在窗口中单击,或输入xkill和进程ID,它将被终止。

xkill上找到有关xkill更多信息。

要尝试终止用户用户username拥有的所有进程,请运行:

 pkill -U username 

我将你的问题分成两部分:

1)如何找到我开始的流程? 运行这个:

 ps -u `whoami` 

whoami是为了防止您不知道您正在使用的帐户的名称,否则只需键入没有后引号的帐户的名称。

这将列出您的帐户可以删除的所有流程。

2) ps命令将列出进程号,TTY,时间和CMD。 进程ID是第一列。 使用该数字来终止进程。 在杀死进程时要小心。 如果你杀了错误的进程,你可能会破坏某些东西。 要终止进程,您将使用kill命令,该命令向进程发送SIGNAL。 信号表明过程该做什么。 例如,向进程发送-1将要求它重新加载配置文件; 发送-2相当于在该进程上按Control + C; -9将导致内核放弃该进程,而不将其传递给进程。

假设ps -u whoami返回了类似的东西

  PID TTY TIME CMD 4333 pts/1 00:00:00 fish 4335 ? 00:00:00 fishd 4816 ? 00:00:00 intellij 4868 ? 00:50:42 java 4939 ? 00:00:19 fsnotifier64 7667 ? 02:49:08 firefox 7698 ? 00:00:00 unity-webapps-s 

你想通过它的进程id杀死firefox进程,然后你会做:

 kill -1 7667 

然后你重新运行相同的ps命令并检查进程是否仍在运行。 如果它仍在运行,那么做一个

 kill -2 7667 

努力工作到-9

要终止您帐户启动的所有进程,请输入kill -1 。 和以前一样:按照你的方式工作到-9

如果您知道该过程的名称,您可以简单地转到killall ,这就是您要杀死的内容。 例如: killall fish (在这个意义上,鱼是友好交互式SHell)。

有关killall文档可以在这里找到: http : //manpages.ubuntu.com/manpages/hardy/man1/killall.1.html

… Linux中的所有进程都响应信号。 信号是告诉程序终止或修改其行为的os级方式。

如何通过PID发送进程信号

将信号传递给程序的最常用方法是使用kill命令。

正如您所料,此实用程序的默认function是尝试终止进程:

 kill PID_of_target_process 

这会将TERM信号发送给进程。 TERM信号告诉进程请终止。 这允许程序执行清理操作并顺利退出。

如果程序行为不正常并且在给出TERM信号时没有退出,我们可以通过传递KILL信号来升级信号:

 kill -KILL PID_of_target_process 

这是一个未发送到程序的特殊信号。

相反,它被赋予操作系统内核,从而关闭进程。 这用于绕过忽略发送给他们的信号的程序…

我写了一个小脚本我写的杀死(在我的情况下)Skype:

 kill -s 9 `ps aux | grep skype | head -n 1 | cut -f4 -d" "` 

但是我发现,尽管当时有效,但第二天它没有用,因为pid是不同的长度,并且空间的数量是不同的

然后我遇到了这个网站并尝试过

 pgrep -l -u justin 

它可以方便地输出格式的进程

 [pid] [name] 

所以我将脚本中的代码调整为:

 kill -s 9 `pgrep -l -u justin | grep skype | cut -f1 -d" "` 

这样做的是管道正在运行的所有进程(可以更改为任何用户名)到grep查找skype (这可以更改为您的进程)然后管道该行进行cut然后只读取PID最后在kill命令中使用该PID来杀死它。

使用此应用程序,您可以查看程序列表

安装htop

 sudo apt-get install htop 

查看进程和终止进程您可以安装它并简单地删除

在此处输入图像描述

我使用以下过程来杀死Ubuntu中的进程::

第1步:使用grep获取进程的pid,或者也可以使用-C也::

 ps aux | -C 'filename' 

要么

 ps -ef | -C 'filename' 

要么

 ps aux | grep 'filename' 

要么

 ps -ef | grep 'filename' 

第2步:记下pid号码。

第3步:使用’kill’命令和pid号一起使用:

 kill pidnumber 

可以设置Ctrl + Alt + Delete,以便您可以访问任务管理器,只需点击几下就可以轻松杀死进程,对我来说,记住可能有损坏的命令的要求更少:

http://ubuntuhandbook.org/index.php/2013/07/use-ctrl-alt-del-task-manager-ubuntu/

这是我写的一个简单的python脚本,killProcess.py,它将接受任何东西作为输入并杀死它。

我写了这个脚本,因为我有很多python或节点进程,我想单独和编程地杀死。 我不能使用“killall python”,因为它将停止我需要继续运行的进程。

请将文件命名为“killProcess.py”,然后添加要停止的脚本的名称。 例如:python killProcess.py runnablePoller.py将终止runnablePoller.py文件

 import os; import sys; for arg in sys.argv: if(arg!="killProcess.py"): process=arg; print(process); processes =os.popen("ps -ef | grep "+process).read(); processes=processes.split("\n"); processes=processes[0].split(" "); #print(processes); for p in processes: try: pid=int(p); print(pid); break; except: continue; os.system("kill "+str(pid));