linux终止命令的命令
㈠ 在linux中如何终止指令的运行
具体操作步骤如下:
1、首先打开linux终端,运行一段Python程序:
㈡ linux结束进程命令有哪些
linux 任务管理-后台运行与终止
fg、bg、jobs、&、ctrl + z命令
一、 &
加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &,
二、ctrl + z
可以将一个正在前台执行的命令放到后台,并且处于暂停状态,不可执行
三、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 中有几种使用命令行或图形界面终止一个程序的方式。
进程出错的时候,您可能会想要中止或是杀掉这个进程。在本文中,我们将探索在命令行和图形界面中终止进程或是应用程序,这里我们使用?gedit[1]?作为样例程序。
使用命令行或字符终端界面Ctrl + C
在命令行中调用?gedit?(如果您没有使用?gedit ?命令)程序的一个问题是 shell 会话被阻塞,没法释放命令行提示符。在这种情况下,Ctrl + C?(Ctrl?和?C?的组合键) 会很管用。这会终止?gedit?,并且所有的工作都将丢失(除非文件已经被保存)。Ctrl + C?会给?gedit?发送了?SIGINT?信号。这是一个默认终止进程的停止信号,它将指示 shell 停止?gedit?的运行,并返回到主函数的循环中,您将返回到提示符。
$ gedit^CCtrl + Z
它被称为挂起字符。它会发送?SIGTSTP?信号给进程。它也是一个停止信号,但是默认行为不是杀死进程,而是挂起进程。
下面的命令将会停止(杀死/中断)?gedit?的运行,并返回到 shell 提示符。
$ gedit^Z[1]+ ?Stopped ? ? ? ? ? ? ? ? gedit$
一旦进程被挂起(以?gedit?为例),将不能在?gedit?中写入或做任何事情。而在后台,该进程变成了一个作业,可以使用?jsbs?命令验证。
$ jobs[1]+ ?Stopped ? ? ? ? ? ? ? ? gedit
jobs?允许您在单个 shell 会话中控制多个进程。您可以终止,恢复作业,或是根据需要将作业移动到前台或是后台。
让我们在后台恢复?gedit,释放提示符以运行其它命令。您可以通过?bg?命令来做到,后跟作业 ID(注意上面的?jobs?命令显示出来的?[1],这就是作业 ID)。
$ bg 1[1]+ gedit amp;
这和直接使用?gedit ?启动程序效果差不多:
$ gedit amp;使用 kill
kill?命令提供信号的精确控制,允许您通过指定信号名或是信号数字为进程发送信号,后跟进程 ID 或是 PID。
我喜欢?kill?命令的一点是它也能够根据作业 ID 控制进程。让我们使用?gedit ?命令在后台开启?gedit?服务。假设通过?jobs?命令我得到了一个?gedit?的作业 ID,让我们为?gedit?发送?SIGINT?信号:
$ kill -s SIGINT %1
作业 ID 需要使用?%?前缀,不然?kill?会将其视作 PID。
不明确指定信号,kill?仍然可以工作。此时,默认会发送能中断进程的?SIGTERM?信号。执行?kill -l可以查看信号名列表,使用?man kill?命令阅读手册。
使用 killall
如果您不想使用特定的工作 ID 或者 PID,killall?允许您使用特定的进程名。中断?gedit?最简单的?killall?使用方式是:
$ killall gedit
它将终止所有名为?gedit?的进程。和?kill?相似,默认发送的信号是?SIGTERM。使用?-I?选项忽略进程名的大小写。
$ gedit amp;[1] 14852$ killall -I GEDIT[1]+ ?Terminated ? ? ? ? ? ? ?gedit
查看手册学习更多?killall?命令选项(如?-u)。
使用 xkill
您是否遇见过播放器崩溃,比如?VLC[2]?灰屏或挂起?现在你可以像上面一样获得进程的 PID 来杀掉它,或者使用?xkill?命令终止应用程序。
Using xkill
xkill?允许您使用鼠标关闭窗口。仅需在终端执行?xkill?命令,它将会改变鼠标光标为一个?X?或是一个小骷髅图标。在你想关闭的进程窗口上点击?x。小心使用?xkill,如手册描述的一致,它很危险。我已经提醒过您了!
参阅手册,了解上述命令更多信息。您还可以接续探索?pkill?和?pgrep?命令。