Linux如何停止正在运行的任务? (linux将stop任务停掉)

Linux作为一种面向服务器端的操作系统,其具有强大的稳定性和灵活性,被广泛应用于互联网领域。在Linux系统中,我们通常会遇到需要停止正在运行的任务的情况,本文将详细讲解Linux如何停止正在运行的任务。

一、使用kill命令停止任务

kill命令是一个Linux系统中非常常用的命令,它可以用来终止运行中的进程或任务。如果我们需要停止一个任务,我们可以先使用ps命令查找任务的进程号(PID),然后再使用kill命令杀掉进程。

命令格式如下:

“`

kill PID

“`

其中,PID指的是任务的进程号。例如,我们想要停止进程号为1234的任务,我们可以使用以下命令:

“`

kill 1234

“`

执行上述命令后,就可以停止进程号为1234的任务。

二、使用killall命令停止任务

如果我们不知道一个任务的进程号,或者同时需要停止多个同名的任务,我们可以使用killall命令。killall命令可以根据进程名终止所有同名进程,非常方便。

命令格式如下:

“`

killall 进程名

“`

例如,我们想要停止名为nginx的所有进程,我们可以使用以下命令:

“`

killall nginx

“`

执行上述命令后,就可以停止所有名为nginx的进程。

三、使用pkill命令停止任务

pkill命令与killall命令类似,它可以根据进程名或者其他条件来终止进程。

命令格式如下:

“`

pkill 参数 进程名

“`

例如,我们想要停止名为nginx的进程,可以使用以下命令:

“`

pkill nginx

“`

如果要使用其他条件来停止进程,例如根据进程所属的用户来停止进程,可以使用以下命令:

“`

pkill -u 用户名

“`

以上命令将停止属于用户名的所有进程。

四、使用kill命令强制停止任务

有时候,我们会遇到无法通过kill、killall或pkill命令来停止进程的情况。这时候,我们可以使用kill命令的-f参数来强制停止进程。

命令格式如下:

“`

kill -f PID

“`

例如,我们想要强制停止进程号为1234的任务,我们可以使用以下命令:

“`

kill -f 1234

“`

这将强制终止进程号为1234的任务。

Linux系统中停止正在运行的任务的方法有很多种,其中比较常用的有kill、killall、pkill等命令。我们可以根据不同的需要来选择使用不同的命令。如果无法停止任务,我们可以使用kill命令的-f参数进行强制停止。无论使用哪种方法,我们都应该谨慎操作,避免误删或误杀重要任务。

相关问题拓展阅读:

Linux里面杀掉进程命令是什么?

Linux 操作系统带有一个kill 命令来终止进程。该命令可以继续运行服务器,而无需在重大更改/更新后重新启动。

Kill命令向当前正在运行的进程发送一个信号,一个指定的信号。kill 命令可以通过多种方式直接执行或从 shell 脚本执行。

使用/usr/bin中的kill命令为你提供了一些额外的功能,可以使用pkill按进程名称杀死进程。本文惠主机www.idccoupon.com简单来介绍下。

Kill命令用法

kill 命令的常用语法是:

# kill PID(s

对于kill 命令,信号名称可汪租以是:

Signal NameSignal ValueBehaviourSIGHUPHangup

SIGKILLKill Signal

SIGTERMTerminate

从上面的行为可以清楚地看出,SIGTERM是杀死进程的默认和最安全的方法。SIGHUP是一种比SIGTERM更不安全的终止进程的方法。SIGKILL是上述三种方法中最不安全的一种,即杀死一个进程而终止一个进程而不保存。

为了杀死一个进程,我们需要知道一个进程的进程 ID。进程是程序的一个实例。每次程序启动时,都会自动为该进程生成一个唯一的PID 。

Linux中的每个进程 都有一手陵卖个pid。Linux 系统启动时启动的之一个进程是-init 进程,因此在大多数情况下,它被分配了一个值“ 1 ”。

init是主进程,不能这样被杀死,这样可以保证主进程不会被意外杀死。Init决定并允许自己被杀死,其中 kill 只是一个关闭请求。

列出所有正在运行的 Linux 进程

要了解所有进程及其分配的pid,请运行以下ps 命令。

#ps -A

样本输出如下:

PID TTYTIME CMD

1 ?:00:01 init

2 ?:00:00 kthreadd

3 ?:00:00 migration/0

4 ?:00:00 ksoftirqd/0

5 ?:00:00 migration/0

6 ?:00:00 watchdog/0

7 ?:00:01 events/0

8 ?:00:00 cgroup

9 ?:00:00 khelper

10 ?:00:00 netns

11 ?:00:00 async/mgr

12 ?:00:00 pm

13 ?:00:00 sync_supers

14 ?:00:00 bdi-default

15 ?:00:00 kintegrityd/0

16 ?:00:00 kblockd/0

17 ?:00:00 kacpid

18 ?:00:00 kacpi_notify

19 ?:00:00 kacpi_hotplug

20 ?毕逗00:00:00 ata/0

21 ?:00:00 ata_aux

22 ?:00:00 ksuspend_ud

如何使用语法自定义上述输出为 ‘ pidof process ‘。

# pidof mysqld

样本输出:

1684

当然,实现上述目标的另一种方法是遵循以下语法。

# ps aux | grep mysqld

样本输出如下:

root.0  0. ?S    09:49   0:00

/bin/sh /usr/bin/mysqld_safe –datadir=/var/lib/mysql

–socket=/var/lib/mysql/mysql.sock –pid-file=/var/run/mysqld/mysqld.pid

–basedir=/usr –user=mysql

mysql.1  0. ?Sl   09:49   1:09

/usr/libexec/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=mysql

–log-error=/var/log/mysqld.log –pid-file=/var/run/mysqld/mysqld.pid

–socket=/var/lib/mysql/mysql.sock

root.0  0. pts/0    S+   21:39  

0:00 grep mysqld

如何在Linux中杀死一个进程

接下来在继续执行kill 命令之前,需要注意一些要点:

用户可以杀死他的所有进程。

一个用户不能杀死另一个用户的进程。

用户不能杀死系统正在使用的进程。

root 用户可以杀死系统级进程和任何用户的进程。

执行相同功能的另一种方法是执行“ pgrep ”命令。

# pgrep mysql

样本输出如下:

3139

要杀死上述进程PID,请使用 kill 命令,如图所示。

kill

上面的命令将杀死pid = 3139的进程,其中PID是进程的数值。

执行相同功能的另一种方法可以重写为。

# kill -SIGTERM 3139

同样,“ kill -9 PID ”类似于“ kill -SIGKILL PID ”,反之亦然。

如何在 Linux 中使用进程名称杀死一个进程

你必须知道进程名称,在杀死和输入错误的进程名称之前可能会搞砸。

# pkill mysqld

一次杀死多个进程。

# kill PID1 PID2 PID3

或者

# kill -9 PID1 PID2 PID3

或者

# kill -SIGKILL PID1 PID2 PID3

如果一个进程有太多实例和许多子进程,我们有一个命令 ‘ killall ‘ 或pkill。这两个是该系列中唯一的命令,它以进程名称作为参数代替进程号。

句法:

# killall Process Name

或者

# pkill Process Name

要杀死所有mysql 实例以及子进程,请使用以下命令。

# killall mysqld

或者

# pkill mysqld

当然,你始终可以使用以下任何命令验证进程的状态是否正在运行。

# service mysql status

或者

# systemctl status mysql

# pgrep mysql

# ps -aux | grep mysql

方法一: Terminal终端输入: gnome-system-monitor,就可以打开system monitor

如图:

然后找到相应进程,右击选择kill process就可以了

方法二: 通过kill 进程id的方式可以实现,

首先需要知道进程id, 例如,想要杀死firefox的进程,通过 ps -ef|grep firefox,可以查到firefox的进程id:

然后通过 kill 3781 就可以关闭进程了.

补充: 1. kill -9 来强制终止退出, 例如: kill

2.特殊用法:

kill -STOP

发送SIGSTOP (17,19,23)停止一个进程,而并不消段巧灭这个进程。

kill -CONT

发送SIGCONT (19,18,25)重新开始一个停止的进程。

kill -KILL

发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。

kill -9 -1

终止你拥有的全部进程。

方法三: killall 通过程序的名字,来杀死进程

例如: killall firefox

注意: 该命令可以使用 -9 参数来强制运毕杀死进程, killall -9 firefox

方法四: pkill 通过程序的名字, 直接杀死所有进程

例如: pkill firefox

方法五: 通过xkill 可以杀死图形程序应用, 例如firefox崩溃无响应,可以使用该命令.

例如: 用法xkill , 会出现一个白色的x, 然后用鼠标单击想要杀死的应用,如图

以下内容引用自:

◆编者注:

KILLALL(Section: User (1)/Updated: 1999年9月7日)

———————————————–

NAME (名称)

killall – 以名字方式来杀死进程

SYNOPSIS (总览)

killall name …

killall -l

killall -V

DESCRIPTION (描述)

killall 发送一条信号给所有运行任意指定命令的进程. 如果没有指定信号名, 则发送SIGTERM.。

信号可以以名字 (如 -HUP ) 或者数字 (如 -1 ) 的方式指定. 信号 0 (检查进程是否存在)只能以数字方式指定。

如果命令名包括

斜杠

(/), 那么执行该特定文件的进程将被杀掉, 这与进程名无关。

如果对于所列命令无进程可杀, 那么 killall 会返回非零值. 如果对于每条命令至少杀死了一个进程, killall 返回 0。Killall 进程决不会杀死自己 (但是可以杀死其它 killall 进程)。

OPTIONS (选项)

-e

对 于很长的名字, 要求准确匹配. 如果一个命令名长于 15 个字符, 则可能不能用整个名字 (溢出了). 在这种情况下, killall 会杀死所有匹配名字前 15 个字符的所有进程. 有了 -e 选项,这样的记录将忽略. 如果同时指定了 -v 选项, killall 会针对每个忽略的记录打印一条消息。

-g

杀死属于该进程组的进程. kill 信号给每个组旁燃芹只发送一次, 即使同一进程组中包含多个进程。

-i

交互方式,在杀死进程之前征求确认信息。

-l

列出所有已知的信号名。

-q

如果没有进程杀死, 不会提出抱怨。

-v

报告信号是否成功发送。

-V

显示版本信息。

-w

等待所有杀的进程死去. killall 会每秒检查一次是否任何被杀的进程仍然存在, 仅当都死光后才返回. 注意: 如果信号被忽略或没有起作用, 或者进程停留在僵尸状态, killall 可能会永久等待。

FILES(相关文件)

/proc proc

文件系统

的存在位置。

KNOWN bugS (已知 BUGS)

以文件方式杀死只对那些在执行时一直打开的

可执行文件

起作用, 也即, 混杂的可执行文件不能够通过这种方式杀死。

要警告的是输入 killall name 可能不会在非 Linux 系统上产生预期的效果, 特别是特权用户执行时要小心。

在两次扫描的间隙, 如果进程消失了而被代之以一个有同样 PID 的新进程, killall -w 侦测不到。

来源:

下面来了解相关命令:

一、查看进程的命令 有ps、pstree、pgrep等:

1、ps

显示进程信息,参数可省略

-aux 以BSD风格显示进程 常用

-efH 以System V风格显示进程

-e , -A 显示所有进程

a显示终端上所有用户的进程

x显示无终端进程

u 显示详细信息

f树状显示

w 完整显示信息

l 显示长列表

在终端中执行ps aux,

各列输出字段的含义:

USER进程所有者

PID进程ID

PPID父进程

%CPUCPU占用率

%MEM 内存占用率

NI进程

优先级

。数值越大,占用CPU时间越少

VSZ进程虚拟大小

RSS页面文件占用

TTY终端ID

STAT进程状态

+—D 不可中断 Uninterruptible sleep (usually IO)

+—R 正在运行,或在队列中的进程

+—S 处于休眠状态

+—T 停止或被追踪

+—Z 僵尸进程

+—W 进入内存交换(从内核2.6开始无效)

+—X 死掉的进程

+

显示进程的PID

-l 显示进程名和进程PID

-o 进程起始ID

-n 进程终止ID

二、结束进程的命令 有kill、pkill、killall、xkill等:

kill

根据PID向进程发送信号,常用来结束进程,默认信号为 -9

信号代码,可取值如下:

-l

信号数字

> 显示、翻译信号代码

-9 , -KILL 发送 kill 信号退出

-6 , -ABRT 发送 abort 信号退出

-15 , -TERM 发送 Termination 信号

-1 , -HUP 挂起

-2 , -INT 从键盘中断,相当于 Ctrl+c

-3 , -QUIT 从键盘退出,相当于 Ctrl+d

-4 , -ILL 非法指令

-11 , -SEGV 内存错误

-13 , -PIPE 破坏管道

-14 , -ALRM

-STOP 停止进程,但不结束

-CONT 继续运行已停止的进程

-9 -1 结束当前用户的所有进程

pkill

结束进程族。如果结束单个进程,请用 kill

killall

killall和pkill 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。

xkill

在图形界面中点杀进程。

当xkill运行时鼠标指针变为骷髅图案,哪个图形程序崩溃一点就OK了。如果您想终止xkill ,就按右键取消。

比如当firefox 出现崩溃不能退出时,点鼠标就能杀死firefox 。

xkill 调用方法:

# xkill

来源:

linux中pkill的简单用法

pkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。

必要参数

-f 显示完整程序

-l 显示源代码

-n 显示新程序

-o 显示旧程序

-v 与条件不符合的程序

-x 与条件符合的程序

选择参数

-p 列出父进程为用户指定进程的进程信息

-t 指定终端下的所有程序

-u 指定用户的程序

  应用方法:

  #pkill 正在运行的程序名

  举例:

Java代码

# pgrep -l gaim

2979 gaim

# pkill gaim

  也就是说:

  kill 对应的是 PID

  pkill 对应的是COMMAND

  例如在Ubuntu中强制结束一个已成僵尸的名称为:firefox,PID为:1603的进程,可以如下操作:

  方法一:

  (1)ctrl+alt+t,调出终端,输入 top,然后就可以看到现在系统的进程,是按占用资源从多到少排列的。

  找到要关掉的进程,记下该进程之一列的数字编号(假设是xx),然后输入q,退回终端。

  (2)输入:sudo kill xx(对应刚才的编号)。

  方法二:

  ctrl+alt+t,调出终端,输入:sudo pkill firefox

范例1: 杀死指定进程

Java代码

root@snail-hnlinux:~# ps -A //显示所有进程

PID TTY TIME CMD

1 ? 00:00:03 init

2 ? 00:00:00 kthreadd

3 ? 00:00:00 migration/0

4 ? 00:00:00 ksoftirqd/0

5 ? 00:00:00 watchdog/0

……忽略部分

28382 ? 00:00:00 gvfsd-http

28391 ? 00:07:07 software-center

30467 ? 00:00:31 designer-qt4

30487 ? 00:00:06 gnome-terminal

30488 ? 00:00:00 gnome-pty-helpe

30489 pts/0 00:00:00 bash

30670 ? 00:00:00 debconf-communi

30749 pts/0 00:00:17 gedit

31155 ? 00:00:00 dhclient

31325 ? 00:00:01 sshd

31327 ? 00:00:00 sshd

31400 pts/1 00:00:00 bash

31485 pts/2 00:00:00 bash

31653 ? 00:00:00 aptd

31658 pts/1 00:00:00 ps

root@snail-hnlinux:~# pidof sshd //查看与sshd相关进程

95

root@snail-hnlinux:~# pkill -9 sshd //杀死指定进程

范例2:杀死同义终端下的进程

Java代码

root@snail-hnlinux:~# pkill -t tty1 //杀死终端1下的所有进程

范例3: 杀死指定用户进程

Java代码

root@snail-hnlinux:~# pkill -u hnlinux

范例4:反向选择

Java代码

root@snail-hnlinux:~# pkill -vu hnlinux //杀死不属于hnlinux用户的所有进程

————————————————

版权声明:本文为CSDN博主「MrCoderr」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

killall -9 进程名

或kill -9 进程纤虚pid

linux将stop任务停掉的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux将stop任务停掉,Linux如何停止正在运行的任务?,Linux里面杀掉进程命令是什么?的信息别忘了在本站进行查找喔。


数据运维技术 » Linux如何停止正在运行的任务? (linux将stop任务停掉)