linux的几个前后台任务切换命令
&:在命令后面,表示该命令后台执行。
jobs:查看当前有多少在后台运行。
fg(Foreround):把任务调至前台任务。
bg(Background):把任务调至后台任务。
Ctrl+z:暂停当前正在运行的任务。
暂停当前运行的程序:
#ctrl + z是暂停当前正在运行的程序
$^Z
$[1]+ Stopped ./redis-server
前台到后台,通过bg + 前台任务的标号[1],把任务调至后台:
#将刚才暂住的程序放到后台,并让其运行,此处的1是可以通过bg看到的,bg看到是几,你就可以把几开启
[[email protected] src]# bg 1
[1]+ ./redis-server &
后台到前台,通过fg + 后台任务的标号[1](当前只有1个后台的任务),把任务调至前台:
#将后台的程序调到前台
[[email protected] src]# fg 1
./redis-server
查看后台运行的任务列表:
#查看后台运行的程序及运行状态
[[email protected] src]# jobs
[1]+ Stopped ./redis-server
[2]+ Running tail -f /var/log/messages &
感谢参考:https://blog.csdn.net/foryouslgme/article/details/52699608
附nohup的用法
nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。要运行后台中的 nohup 命令,添加 & ( 表示"and"的符号)到命令的尾部。
默认情况下所有的标准输出和错误输出都写入nohup.out文件中,除非是重定向。
命令格式:
命令1:nohup command &
命令2:exit
解释:命令1:是把comman命令提交到后台执行,运行日志写入当前nohup文件。命令2:正常注销(退出)。
问题:为啥要执行命令2?
答案:执行命令2,然后关闭shell,任务提交的后台且正常执行。如果不执行命令2,则关闭shell后命令1可能失效。