Command Line Tuesdays - Part Eight

2014年8月12日 | Nenad Latinović | 无许可

哟哟,极客们!我们又来了,这是我们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信号有很多,这可能因你使用的应用程序而异。请参阅下表

kill请尝试一下。

结论

通过这节课,我们完成了CLT系列和我们的周二聚会。我希望像我这样的新手能够消除他们对控制台的困惑,并学习基础知识。现在你只需要四处玩玩(但不要在/目录中乱搞,以免破坏某些东西:D)。

我们很快还会再见,因为还有更多来自这些文章的系列文章。请继续关注,同时…

……玩得开心!

分类: 发行版

标签

分享此帖子