美文网首页
ubuntu后台运行程序

ubuntu后台运行程序

作者: 顾子豪 | 来源:发表于2020-10-19 11:00 被阅读0次

    1 screen 命令

    • screen 创建新窗口
    • screen -S name 和上面一样,同时取名,方便管理
    • 输入你想要的运行的内容
    • ctrl-a d 先按ctrl+a,再按d,dettach,此时你可以关闭连接了,做自己想做的事情去。
    • screen -ls 查看当前有哪些会话,并显示id
    • screen -r id 恢复会话~~~~
    • screen -S id -X quit 删除会话

    参考链接1:https://www.ibm.com/developerworks/cn/linux/l-cn-screen/

    参考链接2:https://blog.csdn.net/wangyezi19930928/article/details/50052947

    2 nohup 命令

    1. 运行命令

      nohup jupyter notebook &
      
      

      组合使用就能够避免终端关闭、服务器断开等情况导致的模型训练终止

      nohup python file.py > filelog.txt 2>&1 &
      
      

    参数解释:

    filelog.txt:> 表示把标准输出(STDOUT)重定向到这个文件,这里重定向到了当前目录下的filelog.txt里,若没有此文件会自动生成。若没有特别指定,默认将当前的输出打印在当前目录的nohup.out文件里。

    若无2>&1则错误信息不会重定向。
    最后的&符号指定让程序后台运行,一定不能省略,否则程序还是运行在前台。
    通过 jobs 命令可以看到后台任务的运行状况(running、stopped等),通过 bg [任务号] 可以让后台stopped的命令继续running,通过 fg [任务号] 可以让后台的任务来前台执行。对于前台已经执行起来的任务,可以 ctrl+z 来丢进后台(丢后台时stop了的话用bg让其run起来)。

    1. 搜索相关进程,后面grep -v 是忽略grep自身进程。

      ps -ux | grep jupyter-notebook | grep -v grep
      
      
    2. 结束进程

      kill -9 pid
      

    4、关闭当前后台运行的命令
    kill命令:结束进程

     (1)通过jobs命令查看jobnum,然后执行   kill %jobnum
    
     (2)通过ps命令查看进程号PID,然后执行  kill %PID
    
       如果是前台进程的话,直接执行 Ctrl+c 就可以终止了
    

    5、前后台进程的切换与控制

     (1)fg命令
    
       功能:将后台中的命令调至前台继续运行
    
       如果后台中有多个命令,可以先用jobs查看jobnun,然后用 fg %jobnum 将选中的命令调出。
    
     (2)Ctrl + z 命令
    
       功能:将一个正在前台执行的命令放到后台,并且处于暂停状态
    
     (3)bg命令
    
       功能:将一个在后台暂停的命令,变成在后台继续执行
    
       如果后台中有多个命令,可以先用jobs查看jobnum,然后用 bg %jobnum 将选中的命令调出继续执行。
    

    参考链接:

    相关文章

      网友评论

          本文标题:ubuntu后台运行程序

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