& 后台执行符号
当一个前台命令执行时,会一直占用着前台终端,想要把命令放到后台去运行,可以使用&符合,使用方法很简单,如下:
前台命令 &
即在命令后面加&即可,这样程序或命令就会被放到后台执行了,ps -ef | grep xxx ,就可以查看进程,需要终止程序就kill即可。
演示示例:
[root@master ~]# sh /root/inotifywait_rsync.s #因为这个程序是一个while程序,所以程序会一直占用终端前台界面
[root@master ~]# sh /root/inotifywait_rsync.s & #程序就被放到后台执行了
[1] 21386
[root@master ~]#
说明:虽然&符合可以把程序就被放到后台执行了,但一旦终端窗口被关闭,程序也就立即被关闭了。
nohup命令
为了解决终端窗口被关闭,后台执行的程序也就立即被关闭的问题,我们使用nohup命令与&后台执行符号结合起来使用, nohup 是 no hang up 的缩写,就是不挂断的意思,其语法格式如下:
nohup 命令 &
演示示例:
[root@master ~]# nohup /bin/sh /root/inotifywait_rsync.sh & #nohup结合&后台运行符号使用,即使终端窗口关闭程序也不会被终断
[1] 21688
[root@master ~]# nohup: ignoring input and appending output to ‘nohup.out’
[root@master ~]#
扩展jobs命令
使用jobs命令来查看有哪些后台运行的程序,如下实例所示:
[root@master ~]# jobs
[1]+ Running nohup /bin/sh /root/inotifywait_rsync.sh &
[root@master ~]#