Linux后台运维常用的一些命令,部署python程序时所遇到的问题

我的问题背景是:需要在一个私有云中部署一套python程序,而在私有云中分配了十几台机器跑改程序,作为开发人员的我,第一次使用了Linux后台运维工具:jumpserver,它通过网页的形式批量管理你所需要管理的机器,想了解的可以自行百度一下,下面开始我的主题:
一开始,我写的python程序,在3台机器中并行,没有任何问题,而放到十几台机器上跑之后,就跑不动,因为每一套程序都访问了云rds中的同一张表,而我一开始没有在程序中考虑这个问题,所以,后面在jumpserver中跑起来后,数据库一直没有处理成功的反馈,我以为是程序启动有问题,然后就开始我的linux命令之旅了:

  • 首先,在jumpserver中的终端中,进入每一个机器中运行:
    ps -ef|grep python3
    这个命令,它可以显示该机器所有运行的所有进程,发现每个机器都没有运行我的python程序,但是在jump server这个平台并看不导程序中pirnt打印的信息。

  • 接下来,我只有重新运行改程序用以下命令: 在这里插入图片描述 其中,

     1. 最后一个“&”表示后台运行程序
     2. “nohup” 表示程序不被挂起
     3. “python”表示执行python代码
     4. “-u”表示不启用缓存,实时输出打印信息到日志文件(如果不加-u,则会导致日志文件不会实时刷新代码中的print函数的信息)
     5. “test.py”表示python的源代码文件
     6. “test.log”表示输出的日志文件
     7. “>”表示将打印信息重定向到日志文件
     8. “2>&1”表示将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)
    
  • 然后再运行:tail -f ~/test.log,就可以查看改程序运行的日志了。

  • 根据日志显示的信息,发现是机器中没有程序运行所需要的环境,所以又开始再linux中安装一些python包了,因为安装python工具包需要用pip,所以先安装pip(而我是python3环境),依次运行如下命令:

    1.apt-get update
    2.apt-get install python3-pip(安装pip3)
    3.pip3 install tensorflow==1.5等等,
    上面的命令可以根据需要在前面加上sudo;

  • 再次运行2步骤中的命令,就成功启动了!!!

最后在放几个在Linux中运维 中需要用的几个命令:

  1. jobs命令
    功能:查看当前终端后台运行的任务

  2. ps
    功能:查看当前的所有进程
    在这里插入图片描述
    上图中,又一个python程序在后台运行,但是光执行ps和jobs命令的话都查不出来,要加强版的ps+++命令才可查。
    注意:ps -aux | grep “test.sh” #a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分

  3. kill
    kill -9 xxxx
    其中xxxx表示进程号。也可通过以下的命令来杀死进程:
    (1)通过jobs命令查看jobnum,然后执行 kill %jobnum

    (2)通过ps命令查看进程号PID,然后执行 kill %PID

    如果是前台进程的话,直接执行 Ctrl+c 就可以终止了

发布了7 篇原创文章 · 获赞 0 · 访问量 160

猜你喜欢

转载自blog.csdn.net/Weixiangxiang1996/article/details/101157864