• 【Linux】服务器后台运行程序


    笔记。

    在Linux服务器直接运行程序,程序运行的时间较长,程序经常会因为网络连接问题异常终止,一直盯着程序运行又费时费力,这时后台运行程序是更好的解决方式。
    But,如果服务器重启了,那所有进程都断掉了,只能重新跑代码。

    screen

    假如遇到一些比较费时间的程序,但是又不能一直开着电脑观察,这时可以使用screen。
    1.如果在screenCRT中开启窗口,然后运行一个程序,当注销时,程序会自动毁掉。
    2.使用nohup可以解决此问题,把程序放到后台运行,查看nohup.out可以查看程序运行的怎样了,但是使用nohup把程序放到后台,就再也无法切换程序到前台了,而screen可以。

    Linux screen命令
    Linux中的screen命令使用详解
    Screen挂起对Linux服务器的远程连接

    Screen,就可以理解成Linux下的会话保持软件。
    Screen被称之为一个全屏窗口管理器,可以轻松在一个物理终端上获得多个虚拟终端的效果。

    • 服务器终端输入:screen 新建窗口,之后可以输入运行命令
    • screen -S 会话名 同上,并且取名,方便管理
    • ctrl-a d 先同时按ctrl+a,再按d,显示[detached],回到主会话
    • screen -ls查看当前回话和id
    • screen -r 会话名/会话id 返回某个screen会话,若有重叠会话名,采用screen -r 会话id.会话名.
    • screen -S id -X quit 删除会话
    • screen终端输入exit,彻底退出,屏幕显示[screen is terminating]即可

    nohup

    nohup 详解 - 今孝 - 博客园 (cnblogs.com)
    nohup和&后台运行,进程查看及终止 - 慕尘 - 博客园 (cnblogs.com)

    nohup指不断地运行,是no hang up的缩写,指不间断,不挂断。

    示例

    nohup python test.py > tmp.log 2>&1 &
    

    命令解析

    用途:LINUX命令用法,不挂断地运行命令。
    语法:nohup Command [ Arg … ] [ & ]
    描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

    进入要运行的py文件目录下:
    nohup python -u test.py > test.log 2>&1 &

    • nohup 不挂起的意思 python test.py python运行test.py文件
    • -u 代表程序不启用缓存,也就是把输出直接放到log中,没这个参数的话,log文件的生成会有延迟
    • > test.log 将输出日志保存到这个log中
    • 2>1 2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出; 2>&1 换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.
    • & 最后一个& ,代表该命令在后台执行

    命令运行后会有提示,示例:
    [1] 2880
    代表进程2880中运行。

    查看nohub命令下运行的所有后台进程:
    jobs
    jobs -l

    查看后台运行的所有进程:
    ps -aux
    查看后台运行的所有python 进程:
    ps aux |grep python
    或者
    ps -ef | grep python

    删除进程
    kill -9 进程id
    -9 的意思是强制删除

    &

    指在后台运行。

  • 相关阅读:
    实现treeview的动态加载
    sql server2000中使用convert来取得datetime数据类型样式(全)
    一道微软公司的面试题目的算法实现
    后台一行输入太多内容,使前台显示自动换行方法
    在js中刷新本页
    关于datediff函数的用法
    C#中StringBuilder类的使用(转)
    在字符串中使用引号("")等字符 需要用转义字符\ 例如
    常用的SQL和TSQL语句(一) (转)
    JS弹出窗口的运用与技巧(转)
  • 原文地址:https://www.cnblogs.com/ytxwzqin/p/16264385.html
Copyright © 2020-2023  润新知