以后台模式运行脚本:

        demo.sh  &            只要在脚本后面加上“&”符号就可以了,会被当成一个独立的进程运行。

        [ 1 ]  3231                                 #运行时会显示出一个进程号和进程ID

        [ 1 ]  Done    ./demo.sh            #运行结束后会显示一条消息


程序消息处理:

        demo.sh  >  demo.txt  &          后台运行时如果脚本有消息要输出任然会输出,会合命令行的命令混合在一起,所以要在运行前重定向输出。

        注意:后台进程和终端联系在一起,退出终端后台进程也会退出。后台进程可以同时运行多个。


在非控制台下运行脚本:不受终端影响

        nohup command  &

        例:nohup  ./demo.sh  &

        此命令会解除终端与进程的关联,会忽略SIGHUP信号,进程也不会和STDOUT和STDERR联系在一起,但是会将输出自动保存在同目录下的nohup.out文件中。注意:如果在同一个目录下使用多个nohup执行脚本会将输出都保存在同一个nohup.out文件中。

查看作业:

        jobs        查看已经停止或运行中的作业

                -l            查看PID(process ID)

        例:jobs  -l 

        [1]+  3515 Stopped                  demo.sh

        [2]   3564 Running                 demo.sh > demo.txt &

        [4]-  3570 Running                 demo.sh > demo.txt &

        注意:命令输出中的“+”号代表默认作业使用,使用fg默认调该进程;“-”号为下一个默认作业。


重启停止的作业:

        bg         以后台模式重启一个作业,即使脚本并没有以后台模式运行。

        例:bg  2

        注意:当有多个作业时要加上作业号,否者重启默认作业,


        fg          以前台模式重启一个作业,有多个作业时加上作业号,否者重启默认作业,

        例:fg  2

        注意:以前台模式会接管当前的终端