首页 > 代码库 > Linux学习笔记(6)-工作管理

Linux学习笔记(6)-工作管理

   

什么是工作管理

工作来自job命令的翻译,job命令可以查看后台工作的进程。举例来说什么是工作管理,当你要打包一个比较大的目录时,很耗时间,但是你同时又需要使用别的命令。你会想我可以到开几个终端进行登录。在/etc/security/limits.conf里面可以设定使用者同时可以登入的连接数,如果设为1,那不是没辙了?由于耗时的打包命令并不需要与用户进行交互,可不可以让程序在后台打包呢?答案是可以的。

   

将进程放入后台运行

使用"&"符号让命令在后台工作

#tar -zcf etc.tar.gz /etc &

这个命令会将/etc目录打包,由于后面加了&符号,也会在后台进行

由于时间太短,就不把jobs命令放在一起了

   

使用快捷键ctel + z将目前进程放入后台

#top

执行top命令,然后按下ctrl+ztop命令会被放入后台,但是此时top命令会被暂停。

   

查看当前后台进程:jobs

# jobs [-lrs]

选项与参数:

-l :除了列出 job number 与指令串之外,同时列出 PID 的号;

-r :仅列出在后台运行的程序;

-s :仅列出在后台被暂停的程序。

   

其实 + 代表最近被放到后台的工作进程, - 代表最近最后第二个被放到后台中的工作进程。 而第三个以后的进程,就不会有 +/- 符号存在了!

   

将后台暂停的进程恢复到前台执行:fg %工作号

#fg %jobnumber

选项与参数:

%jobnumber :jobnumber 为工作号。注意,那个 % 是可有可无的!

   

将后台暂停的进程恢复到后台执行:bg %工作号

#bg %jobnumber

选项与参数:

%jobnumber :jobnumber 为工作号。注意,那个 % 是可有可无的!

   

   

要注意的是,我们在工作管理当中提到的‘后台‘指的是在终端机模式下可以避免 [crtl]-c 中断的一个情境, 并不是放到系统的后台去喔!所以,工作管理的后台依旧与终端机有关啦! 在这样的情况下,如果你是以远端连线方式连接到你的 Linux 主机,并且将工作以 & 的方式放到后台去, 请问,在工作尚未结束的情况下你离线了,该工作还会继续进行吗?答案是‘否‘!不会继续进行,而是会被中断掉