进程常用操作:
command & //将进程放在后台执行
ctrl-z //暂停当前进程 并放入后台
jobs //查看当前后台任务
bg //将任务转为后台执行
fg //将任务调回前台
kill //杀掉任务
- command & 在运行的命令后加一个&号,就会后台运行命令
- ctrl-z 在终端中按ctrl-z 会将当前任务暂停并转入后台; 利用jobs命令可以查看当前后台的任务; 如果在jobs命令后增加 -l 参数 那么就会显示详细信息
- 终止的进程状态为Stopped 通过bg %i (i为进程的标号)命令可以将其转为运行
- 想要将任务切换回前台,可以利用fg %i命令
- 想要结束任务,可以利用kill %i命令
jobs 命令语法:
#jobs(选项)(参数)
jobs: usage: jobs [-lnprs] [jobspec ...] or jobs -x command [args]
jobs 命令选项:
-l:显示进程号;
-p:仅任务对应的显示进程号;
-n:显示任务状态的变化;
-r:仅输出运行状态(running)的任务;
-s:仅输出停止状态(stoped)的任务。
obs命令 用于显示Linux中的任务列表及任务状态,包括后台运行的任务。该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号。
在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成。
jobs 命令实例:
使用jobs命令显示当前系统的任务列表,输入如下命令:
jobs -l #显示当前系统的任务列表
上面的命令执行后,将显示出当前系统下的任务列表信息,具体如下所示:
[1] + 1903 运行中 find / -name password &
注意:要得到以上输出信息,必须在执行jobs命令之前执行命令find / -name password &
。否则,执行jobs命令不会显示任何信息(参见 Linux nohup 命令)。
其中,输出信息的第一列表示任务编号,第二列表示任务所对应的进程号,第三列表示任务的运行状态,第四列表示启动任务的命令。
jobs 命令的坑:
直接输入jobs命令,是不会显示PID进程号的,无法KILL掉。如果需要KILL,则需要用 jobs -l,得到PID。
现在开始杀掉它:输入命令:
kill -9 1903 #1903是上述jobs例子下的PID
再用jobs命令查看,确认已经杀掉了:终端没有显示,表示Ok!
参考文章:
https://segmentfault.com/a/1190000000349722
https://blog.csdn.net/YuZhiHui_No1/article/details/44564963
https://commandnotfound.cn/linux/1/4/jobs-%25252525E5%2525252591%25252525BD%25252525E4%25252525BB%25252525A4