在 Linux 的日常使用中,Ctrl+C 应该是用的最多的,他的用途是终止当前进程。那么Ctrl+ZCtrl+D 又有什么用途么?

Ctrl+Z 表示暂停一个进程,Ctrl+D 表示文件结束符(EOF)。

假如我们有一个会长期执行的程序,如果它原来就是在前台运行的话(bundle exec sidekiq), 如果使用Ctrl+Z,会在终端输出susppended bundle exec sidekiq。当然 Ctrl+D 是不起作用的,因为它的 应用场景不是这样的。被暂停的进程可以使用ps -ef | grep [进程名]看到。Ctrl+D 更多地 在文件操作上,每个文件都有对应的标志(EOF)表示文件的结束。

fg、bg 和 jobs

fg %[job num]把一个任务从后台拿到前台来处理.foreground bg %[job num] 把一个任务从前台拿到后台去执行。background

那么 job num 怎么看呢? 使用jobs -l, 最左侧的数字即是。比如有一个后台进程job id 为2,那么执行fg %2即可。

如何将暂停的进程在后台继续执行呢?执行bg %[job num] 就可以了。如果有多个的话,使用bg(没有 job num)。