使用nohup让程序在服务器后台运行

转自:https://blog.csdn.net/wzqnls/article/details/53365280

linux下通常部署完程序,需要让它一直在后台运行,否则ssh一旦断开,整个进程就挂了。今天要介绍的就是一个关于让程序在后台运行的命令nohup!!!

网上的许多文章对于nohup这个命令有非常细致的讲解,然而我认为在使用阶段最好的就是能快速易懂方便使用,如果有需求深入学习的话,再查阅相关的文档,起码不要再学习整个命令的初期把人讲晕了。

    # 1.后台启动程序
    nohup Command [ Arg … ] [ & ]
    # nohup命令 参数可选但不是必须的,又需要看文档既可
    # 举例
    # 在后台运行 test.py的python脚本
    nohup python test.py &
    # 在后台运行uwsgi(下面的只是uwsgi举例)
    nohup uwsgi --http :8001 --wsgi-file test.py &

    # 执行之后会返回一个进程号
    # 以及告诉你程序的标准输出都会保存在一个叫outhup.out的文件中在程序根目录下

    # 2.查看此程序运行状态
    # 端口状态查看
    lsof -i:port

    # 某某程序运行状态
    ps -ef | grep <程序名>
    # 举例 
    # 查看后台python运行状态 
    ps -ef | grep python
    # 查看后台uwsgi运行状态
    ps -ef | grep uwsgi

    # jobs这个命令也可查看程序后台运行状态,不过另起一个ssh就出不来了,感觉有点鸡肋

    # 3.停掉这个程序,不让他运行了
    # 可以把后台程序转到前台,也可以根据进程号直接干掉,这里推荐后者,毕竟方便
    # 例如根据 ps -ef | grep <程序名> 得到进程号24365
    kill 24365
    # 这个进程讲就game over了

    # 最最最重要的一点
    # 程序在后台运行了之后,不要直接把ssh给关了
    # 一但ssh客户端中断,这个进程也就直接挂了
    # 所以我们需要exit来退出远程连接,真的是细节决定成败

猜你喜欢

转载自blog.csdn.net/orangefly0214/article/details/81710972