Linux中怎么终止正在运行的后台程序
xkill应用程序可以帮助你快速杀死你的桌面上的任何图形窗口。
1、通过按下Ctrl + Alt + Esc键可激活此快捷方式。您的光标会变成一个X.点击窗口与xkill功能来确定哪些进程与该窗口关联,然后立即杀掉该进程。该窗口将瞬间关闭。
2、Linux桌面有一个工具system monitor,它的工作方式类似于Windows任务管理器,打开系统监视器工具查看运行进程列表,可以强制关闭它们。
3、从终端关闭。比方说,Firefox是在后台运行,我们希望从终端杀死它。您可以运行如下命令:grep firefox这将列出所有的进程,你只要kill对应的进程就可以了
4、killall命令就像pkill的,但有点更精确。它会杀了具有特定名称的所有正在运行的进程。因此运行killall firefox所有运行的火狐进程
linux用什么命令结束后台进程
linux 任务管理-后台运行与终止
fg、bg、jobs、&、ctrl + z命令
一、 &
加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &,
二、ctrl + z
linux强制结束进程 linux强制结束进程kill
可以将一个正在前台执行的命令放到后台,并且处于暂停状态,不可执行
三、jobs
查看当前有多少在后台运行的命令
jobs
-l选项可显示所有任务的PID,jobs的状态可以是running, stopped,
Terminated,但是如果任务被终止了(kill),shell
从当前的shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息;
四、fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
五、bg
将一个在后台暂停的命令,变成继续执行 (在后台执行)
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
将任务转移到后台运行:
先ctrl + z;再bg,这样进程就被移到后台运行,终端还能继续接受命令。
概念:当前任务
如
果后台的任务号有2个,[1],[2];如果当第一个后台任务顺利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]”
的后台任务。所以可以得出一点,即当前任务是会变动的。当用户输入“fg”、“bg”和“stop”等命令时,如果不加任何引号,则所变动的均是当前任务
进程的终止
后台进程的终止:
方法一:
通过jobs命令查看job号(假设为num),然后执行kill %num
方法二:
通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid
前台进程的终止:
ctrl+c
kill的其他作用
kill除了可以终止进程,还能给进程发送其它信号,使用kill -l 可以察看kill支持的信号。
SIGTERM是不带参数时kill发送的信号,意思是要进程终止运行,但执行与否还得看进程是否支持。如果进程还没有终止,可以使用kill -SIGKILL pid,这是由内核来终止进程,进程不能监听这个信号。
进程的挂起
后台进程的挂起:
在solaris中通过stop命令执行,通过jobs命令查看job号(假设为num),然后执行stop %num;
在redhat中,不存在stop命令,可通过执行命令kill -stop PID,将进程挂起;
当要重新执行当前被挂起的任务时,通过bg %num 即可将挂起的job的状态由stopped改为running,仍在后台执行;当需要改为在前台执行时,执行命令fg %num即可;
前台进程的挂起:
ctrl+Z;
linux停止进程
在linux系统中停止进程需要以下三个步骤,下面具体介绍以下:
1、打开进程id,用ps命令查找进程,使用-e选项。通过less的方式输出
2、找到进程,通过grep将ps的输出通过管道传输,并指定该进程的名称。
3、找到要终止的进程,然后通过kill命令来停止进程。
今天的分享就是这些,希望能帮助大家。
本文章基于thinkpadE15品牌、centos7系统撰写的。
Linux里面杀掉进程命令是什么?
Linux 操作系统带有一个kill 命令来终止进程。该命令可以继续运行服务器,而无需在重大更改/更新后重新启动。
Kill命令向当前正在运行的进程发送一个信号,一个指定的信号。kill 命令可以通过多种方式直接执行或从 shell 脚本执行。
使用/usr/bin中的kill命令为你提供了一些额外的功能,可以使用pkill按进程名称杀死进程。本文惠主机简单来介绍下。
Kill命令用法
kill 命令的常用语法是:
# kill [signal or option] PID(s
对于kill 命令,信号名称可以是:
Signal Name Signal Value BehaviourSIGHUP 1 Hangup
SIGKILL 9 Kill Signal
SIGTERM 15 Terminate
从上面的行为可以清楚地看出,SIGTERM是杀死进程的默认和最安全的方法。SIGHUP是一种比SIGTERM更不安全的终止进程的方法。SIGKILL是上述三种方法中最不安全的一种,即杀死一个进程而终止一个进程而不保存。
为了杀死一个进程,我们需要知道一个进程的进程 ID。进程是程序的一个实例。每次程序启动时,都会自动为该进程生成一个唯一的PID 。
Linux中的每个进程都有一个pid。Linux 系统启动时启动的第一个进程是-init 进程,因此在大多数情况下,它被分配了一个值“1 ”。
init是主进程,不能这样被杀死,这样可以保证主进程不会被意外杀死。Init决定并允许自己被杀死,其中 kill 只是一个关闭请求。
列出所有正在运行的 Linux 进程
要了解所有进程及其分配的pid,请运行以下ps 命令。
#ps -A
样本输出如下:
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 migration/0
6 ? 00:00:00 watchdog/0
7 ? 00:00:01 events/0
8 ? 00:00:00 cgroup
9 ? 00:00:00 khelper
10 ? 00:00:00 netns
11 ? 00:00:00 async/mgr
12 ? 00:00:00 pm
13 ? 00:00:00 sync_supers
14 ? 00:00:00 bdi-default
15 ? 00:00:00 kintegrityd/0
16 ? 00:00:00 kblockd/0
17 ? 00:00:00 kacpid
18 ? 00:00:00 kacpi_notify
19 ? 00:00:00 kacpi_hotplug
20 ? 00:00:00 ata/0
21 ? 00:00:00 ata_aux
22 ? 00:00:00 ksuspend_usbd
如何使用语法自定义上述输出为 'pidof process'。
# pidof mysqld
样本输出:
1684
当然,实现上述目标的另一种方法是遵循以下语法。
# ps aux | grep mysqld
样本输出如下:
root 1582 0.0 0.0 5116 1408 ? 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 1684 0.1 0.5 136884 21844 ? 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 20844 0.0 0.0 4356 740 pts/0 S+ 21:39
0:00 grep mysqld
如何在Linux中杀死一个进程
接下来在继续执行kill 命令之前,需要注意一些要点:
用户可以杀死他的所有进程。
linux强制结束进程 linux强制结束进程kill
一个用户不能杀死另一个用户的进程。
用户不能杀死系统正在使用的进程。
root 用户可以杀死系统级进程和任何用户的进程。
执行相同功能的另一种方法是执行“pgrep”命令。
# pgrep mysql
样本输出如下:
3139
要杀死上述进程PID,请使用 kill 命令,如图所示。
kill -9 3139
上面的命令将杀死pid=3139的进程,其中PID是进程的数值。
执行相同功能的另一种方法可以重写为。
# kill -SIGTERM 3139
同样,“kill -9 PID”类似于“kill -SIGKILL PID”,反之亦然。
linux强制结束进程 linux强制结束进程kill
如何在 Linux 中使用进程名称杀死一个进程
你必须知道进程名称,在杀死和输入错误的进程名称之前可能会搞砸。
# pkill mysqld
一次杀死多个进程。
# kill PID1 PID2 PID3
或者
# kill -9 PID1 PID2 PID3
或者
# kill -SIGKILL PID1 PID2 PID3
如果一个进程有太多实例和许多子进程,我们有一个命令 'killall' 或pkill。这两个是该系列中唯一的命令,它以进程名称作为参数代替进程号。
句法:
# killall [signal or option] Process Name
或者
# pkill Process Name
要杀死所有mysql 实例以及子进程,请使用以下命令。
# killall mysqld
或者
# pkill mysqld
当然,你始终可以使用以下任何命令验证进程的状态是否正在运行。
# service mysql status
或者
# systemctl status mysql
# pgrep mysql
# ps -aux | grep mysql
如何杀掉 linux 系统中某一指定进程
Linux中杀掉一个进程可以用kill和killall命令,killall命令用命令名字来杀死指定进程,而kill命令则是用进程PID来杀死进程。
killall命令,顾名思义就是杀死所有以某个命令启动的所有进程,用killall命令杀死进程的命令是这样的(这里是杀死以httpd命令启动的所有进程):
killall -9 httpd
-9参数表示强制终止进程。
最常用的是用kill命令结束进程,但是kill命令需要用进程的PID作为参数。如何知道指定进程的PID呢?如果是通过进程命令名字查看对应PID,可以通过ps或pstree命令看到它的PID;如果是通过网络监听端口号查看进程,需要用netstat命令看看端口号对应的进程的PID。
ps命令用于查看系统所有进程,而pstree命令以树状显示进程之间的关系,有助于判断要杀死哪个进程。记住在它们显示的结果中记下需要结束的进程PID。ps命令的常用用法是:
ps aux
-a参数表示不与终端有关的进程也显示出来。
pstree命令的常见用法是:
pstree -Aup
-p参数表示列出进程PID。
netstat命令可以查看监听端口的进程是哪个,常用的方式是:netstat -tlnp
这条命令的意思是列出系统里面监听网络连接的端口号和相应的进程PID。
参数说明:
-t:表示列出TCP连接(也可以加上-u参数表示同时列出UDP网络连接)
-l:表示列出正在网络监听的服务
关键是下面两个参数:
-n:表示以端口号来显示
-p:表示列出进程PID
Local Address这一列下面就有端口号,可以看到它对应的PID是多少,还有Program name那一列是进程名字。同样是要记下需要结束的进程的PID。
知道了指定进程的PID后,就可以用kill命令结束进程了:
kill -9 PID号码
或者kill -2 PID号码
-9参数是强制结束进程,而-2参数是相当于用键盘组合键Ctrl+C的方式正常结束进程。
转-Linux四种结束某用户所有进程的方法
原文网址:
查看原文:
在linux系统管理中,我们有时候需要结束掉某个用户的所有进程。初学者一般会先查询出用户的所有pid,然后一条条kill结束掉,或者写一个脚本。实际上结束的方法有很多,博主这边总结了下面4种方法,以kill用户zhangnq为例。
1. pkill方式
# pkill -u zhangnq
2. killall方式
# killall -u zhangnq
3. ps方式ps列出zhangnq的pid,然后依次kill掉,比较繁琐。
# ps -ef | grep zhangnq | awk '{ print $2 }' | xargs kill -9
4. pgrep方式pgrep -u参数查出用户的所有pid,然后依次kill
# pgrep -u zhangnq | xargs kill -9
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, website.service08@gmail.com 举报,一经查实,本站将立刻删除。