TranslateProject/published/201408/20180813 Command Line Tuesdays--Part Eight.md
2014-09-02 20:57:38 +08:00

3.3 KiB
Raw Blame History

命令行星期二——第八部分

极客们我们回来了来完成最后一章的CLT。今天我们将讨论一下任务控制。在这个里头我们也将学习怎样来控制运行在我们计算机上的进程

一个例子

正如我们所学的我们可以直接在CLI中输入程序名称来运行该程序。例如dolphin。如果我们输入

dolphin

……dolphin这个文件管理器就打开了。如果在这个进程打开时你查看终端你会发现不能访问命令提示符了而且你也不能在同一个窗口中写一个新命令进去了。如果你终止dolphin提示符又会出现了而你又能输入一个新命令到shell中去了。那么我们怎么能在CLI运行一个程序时同时又能获得提示符以便进一步发命令。

dolphin &

……现在你让dolphin文件管理器在后台运行了终端就可以空出来输入你需要的另外一个命令了。

现在假设你忘了在dolphin后面输入&字符你只需要输入ctrl+z它会停止你的进程并把它放到空闲列表中去。要继续停止的进程输入

bg

……它会从后台重启进程。

jobs, ps

由于我们在后台运行着进程你可以使用jobs或者使用ps来列出它们。试试吧只要输入jobs或者输入ps就行了。下面是我得到的结果

nenad@linux-zr04:~> ps
PID TTY          TIME CMD
8356 pts/1    00:00:00 bash
8401 pts/1    00:00:00 dolphin
8406 pts/1    00:00:00 kbuildsycoca4
8456 pts/1    00:00:00 ps

杀死进程

如果有个进程无响应了怎么来处理掉它呢可以使用kill命令。让我们在先前提到的dolphin进程上试试。首先我们必须使用ps来鉴别该进程的PID。在我上述情况中dolphin的PID是8401。那么让我们来杀死它我只要输入

kill 8401

……那么它就把dolphin给杀死了。

kill的更多细节

kill的存在不仅仅是为了终止进程它最初是设计用来发送信号给进程。当然有许多kill信号可以使用根据你使用的应用程序不同而不同。请看下面的表

务必试试这些信号。

结尾

我们以本节课来结束我们的CLT系列和周二必达我希望其他像我这样的新手们能设法在他们的思想中摆脱控制台的神秘而学习掌握一些基本技能。现在对你们而言所有剩下来要做的事就是尽情摆弄它吧只是别把“/”目录搞得太乱七八糟,因而你也不会诋毁什么东西了 :D

我们将在不久的将来看到其它更多的东西,因为有更多的系列文章来自这些文章的出处。别走开,同时……

……尽情享受!


via: https://news.opensuse.org/2014/08/12/command-line-tuesdays-part-eight/

作者:Nenad Latinović 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出