美文网首页Linux 学习
linux——nohup后台运行,ps查看等命令

linux——nohup后台运行,ps查看等命令

作者: 徐诗芬 | 来源:发表于2020-12-31 17:05 被阅读0次

    nohup和&搭配,后台运行命令

    不挂断的运行命令:nohup Command [ Arg … ] [&]
    nohup的输出都将附加到当前目录的 nohup.out 文件中
    参考链接:nohup命令

    nohup test.sh &
    nohup test.sh > test.log 2>&1 &
    

    2>&1 解释:
    将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 test.log 文件中。也可以使用:

    nohup test.sh 2> test.log & #错误输出到test.log
    

    0 – stdin (standard input,标准输入)
    1 – stdout (standard output,标准输出)
    2 – stderr (standard error,标准错误输出)

    查看后台运行的任务:

    jobs -l  
    

    以上命令只适用于没有关掉终端的查看,如果重新打开终端只能用ps(process):

    ps fx
    ps -ef | grep [用户名或命令]
    ps -aux
    

    a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分。可以获取到进程ID(PID)
    除了ps以外,还可以通过top查看后台运行的情况:


    1.png

    后台进程的切换与控制

    Ctrl + C:前台的命令任务终止
    Ctrl + Z:将一个前台执行的命令放到后台,并且处于暂停的状态
    fg:fg %jobID将某一任务调回前台运行
    bg:bg %jobID将一个后台暂停命令变成后台继续执行
    %jobID就是PID

    如果需要将后台命令停止用kill -9 %jobID。

    批量终止或暂停后台命令:

    ps aux| grep hostname | grep -v root | cut -c 9-15 | xargs kill -STOP
    

    hostname: 用户名
    grep -v root:反选去除root命令
    cut -c 9-15: 9-15个字符正好是PID
    xargs将前面的输出当做输入传给“kill -STOP”(暂停进程)或者“kill -9”(强行杀掉)或者“kill -15”(正常退出)
    kill -CONT:恢复stop的进程

    相关文章

      网友评论

        本文标题:linux——nohup后台运行,ps查看等命令

        本文链接:https://www.haomeiwen.com/subject/aktroktx.html