Linux 的作业控制


前台作业:通过终端启动,且启动后一直占据终端;

后台作业:可通过终端启动,但启动后即转入后台运行(释放终端)

如何让作业运行于后台?

    (1)  运行中的作业: Ctrl+z

 作业管理_nice

    (2)  尚未启动的作业:# COMMAND &

 作业管理_nice _02

后台作业虽然被送往后台运行,但其依然与终端相关;退出终端,将关闭后台作业。如果希望送往后台后,剥离与终端的关系:

    # nohup COMMAND & #screen;COMMAND

查看所有作业:

    # jobs

 作业管理_nice _03

作业控制:

    # fg [[%]JOB_NUM] :把指定的后台作业调回前台;

 作业管理_其他_04

    # bg [[%]JOB_NUM] :让送往后台的作业在后台继续运行;

 作业管理_其他_05

    # kill [%JOB_NUM] :终止指定的作业;

 作业管理_其他_06


并行运行:


同时运行多个进程,提高效率;

例如:

第一种实现方法:

    (f1.sh&);(f2.sh&);(f3.sh&)

 作业管理_其他_07

第二种实现方法:

    vi all.sh

        f1.sh&

        f2.sh&

        f3.sh&

 作业管理_nice _08

第三种实现方法:

    { f1.sh& f2.sh& f3.sh& }

 作业管理_nice _09


进程优先级调整:


静态优先级:100-139

进程默认启动时的nice值为0 ,优先级为120

只有根用户才能降低nice值(提高优先性)普通用户只能调整nice值为0以上的;

 作业管理_nice _10

 作业管理_nice _11

nice 命令:

    nice [OPTION] [COMMAND [ARG]...]

 作业管理_其他_12

 作业管理_其他_13

renice 命令:

    renice [-n] priority pid...

查看:

    ps axo pid,comm,nice

 作业管理_其他_14