美文网首页程序员
Linux基础(3)—— Linux进程的相关操作

Linux基础(3)—— Linux进程的相关操作

作者: 黄宝玲_1003 | 来源:发表于2018-12-25 10:52 被阅读20次

    运行进程时,进程会占据前台终端,有时想要将进程放入后端工作,怎么做呢?下面介绍几种方法。

    1 后台运行程序

    1.1 &

    用法:command &
    用途:使程序在后台运行

    用之前做过的Minio服务来举例子:

    ./minio server /m1 /m2 /m3 /m4 &
    

    1.2 ctrl + z

    可以将一个正在前台执行的命令放到后台,并且处于暂停状态。

    1.3 nohup

    用法:nohup command & (一般和&一起用)
    用途:不挂断地运行命令。

    nohup ./minio server /m1 /m2 /m3 /m4 & 
    

    一般用nohup会把输出重定向。

    nohup ./minio server /m1 /m2 /m3 /m4 > out.file 2>&1 & 
    // >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
    // 2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个&, 是让该命令在后台执行。
    // 试想2>1代表什么,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.
    

    使用了nohup之后,很多人就这样不管了,其实这样有可能在当前账户非正常退出或者结束的时候,命令还是自己结束了。所以在使用nohup命令后台运行命令之后,需要使用exit正常退出当前账户,这样才能保证命令一直在后台运行。

    2 进程查看命令

    2.1 jobs指令

    查看当前有多少在后台运行的命令。

    jobs命令只看当前终端生效的,关闭终端后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令)

    jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。

    2.2 ps指令

    查看后台进程

    // 查看运行进程
    ps -ef|grep mino
    

    2.3 netstat 端口查看指令

    如果某个进程起不来,可能是某个端口被占用。

    netstat -ntlp|grep 9000
    /* netstat命令各个参数说明如下:
      -t : 指明显示TCP端口
      -u : 指明显示UDP端口
      -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
      -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
      -n : 不进行DNS轮询,显示IP(可以加速操作)
    */
    

    3 进程删除命令

    3.1 kill 指令

    删除进程。

    相关文章

      网友评论

        本文标题:Linux基础(3)—— Linux进程的相关操作

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