zoukankan      html  css  js  c++  java
  • nohup—后端守护进程

    要将一个命令放到后台执行,我们一般使用nohup sh command &

    为什么要nohup?

    因为我用使用Scrt这种终端工具退出的时候会向我们在当前shell下启动的进程发生一个SIGHUP信号,

    而SIGHUP信号的默认行为时终止进程,所以nohup的意思是屏蔽SIGHUP信号。

    下面我们做一个测试:

    在一个窗口运行一个不带nohup的后台程序
    [root@limt ~]# sh  Testlsof.sh > 111.log &
    [1] 4486
    [root@limt ~]# jobs
    [1]+  Running                 sh Testlsof.sh > 111.log &
    在另外一个窗口查看后台程序
    [root@limt ~]# ps -ef|grep Testlsof
    root      4486  4315  0 20:11 pts/1    00:00:00 sh Testlsof.sh
    root      4574  4500  0 20:12 pts/0    00:00:00 grep Testlsof
    关闭第一个窗口,后台进程也退出
    [root@limt ~]# ps -ef|grep Testlsof
    root      4661  4500  0 20:12 pts/0    00:00:00 grep Testlsof
     
    在一个窗口运行一个带nohup的后台程序
    [root@limt ~]# nohup sh Testlsof.sh > 111.log &
    [1] 2710
    [root@limt ~]# nohup: 忽略输入重定向错误到标准输出端
    [root@limt ~]# jobs
    [1]+  Running                 nohup sh Testlsof.sh > 111.log &
    在另外一个窗口查看后台程序
    [root@limt ~]# ps -ef|grep Testlsof
    root      2710  2664  0 20:23 pts/1    00:00:00 sh Testlsof.sh   //父进程为shell
    root      2794  2728  0 20:23 pts/2    00:00:00 grep Testlsof
    关闭第一个窗口,后台进程没有退出
    [root@limt ~]# ps -ef|grep Testlsof
    root      2710     1  0 20:23 ?        00:00:00 sh Testlsof.sh   <span style="font-family: Arial, Helvetica, sans-serif;">//父进程为init进程</span>
    root      3223  2728  0 20:23 pts/2    00:00:00 grep Testlsof

    PS是LINUX下最常用的也是非常强大的进程查看命令

    常见的使用方法是检查一个进程是否存在:

    //以下这条命令是检查java 进程是否存在.
    ps -ef |grep java

    1. ps简介

    要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本

    同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、

    进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。

    2. ps命令及其参数

    ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设

    备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。

    该命令语法格式如下:

    ps [选项]

    下面对命令选项进行说明:

    -e 显示所有进程。

    -f 全格式。

    -h 不显示标题。

    -l 长格式。

    -w 宽输出。

    a 显示终端上的所有进程,包括其他用户的进程。

    r 只显示正在运行的进程。

    x 显示没有控制终端的进程。

  • 相关阅读:
    C#
    C#
    ssh学习笔记
    (已解决)Could not open '/var/lib/nova/mnt/*/volume-*': Permission denied
    RPCVersionCapError: Requested message version, 4.17 is incompatible. It needs to be equal in major version and less than or equal in minor version as the specified version cap 4.11.
    如何在linux下安装idea
    The system has no LUN copy license
    调整mysql数据库最大连接数
    mysql数据库编码问题
    cinder支持nfs快照
  • 原文地址:https://www.cnblogs.com/chaofn/p/4654933.html
Copyright © 2011-2022 走看看