当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Linux中有效地管理进程的8个命令

    栏目:Linux/apache问题 时间:2019-11-10 14:56

    前言

    进程管理的作用:

    判断服务器健康状态:通过分析进程的状态(内存、CPU占有率等)判断服务器的负载和安全状态 查看系统中的所有进程 杀死进程

    本文将给大家详细介绍关于Linux管理进程命令的相关内容,通过这些关键的命令来全程管理你的应用。

    一般来说,应用程序进程的生命周期有三种主要状态:启动、运行和停止。如果我们想成为称职的管理员,每个状态都可以而且应该得到认真的管理。这八个命令可用于管理进程的整个生命周期。

    启动进程

    启动进程的最简单方法是在命令行中键入其名称,然后按回车键。如果要启动 Nginx web 服务器,请键入 nginx 。也许您只是想看看其版本。

    alan@workstation:~$ nginx
    
    alan@workstation:~$ nginx -v
    nginx version: nginx/1.14.0

    查看您的可执行路径

    以上启动进程的演示是假设可执行文件位于您的可执行路径中。理解这个路径是可靠地启动和管理进程的关键。管理员通常会为他们想要的目的定制这条路径。您可以使用 echo $PATH 查看您的可执行路径。

    alan@workstation:~$ echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

    WHICH

    使用 which 命令查看可执行文件的完整路径。

    alan@workstation:~$ which nginx
    /opt/nginx/bin/nginx

    我将使用流行的 web 服务器软件 Nginx 作为我的例子。假设安装了 Nginx。如果执行 which nginx 的命令什么也不返回,那么是找不到 Nginx 了,因为它只搜索您指定的可执行路径。有三种方法可以补救一个进程不能简单地通过名字启动的情况。首先是键入完整路径 —— 虽然,我不情愿输入全部路径,您会吗?

    alan@workstation:~$ /home/alan/web/prod/nginx/sbin/nginx -v
    nginx version: nginx/1.14.0

    第二个解决方案是将应用程序安装在可执行文件路径中的目录中。然而,这有时可能是办不到的,特别是如果您没有 root 权限。

    第三个解决方案是更新您的可执行路径环境变量,包括要使用的特定应用程序的安装目录。这个解决方案是与 shell 相关的。例如,Bash 用户需要在他们的 .bashrc 文件中编辑 PATH= 行。

    PATH="$HOME/web/prod/nginx/sbin:$PATH"

    现在,重复您的 echo 和 which 命令或者尝试检查版本。容易多了!

    alan@workstation:~$ echo $PATH
    /home/alan/web/prod/nginx/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
    
    alan@workstation:~$ which nginx
    /home/alan/web/prod/nginx/sbin/nginx
    
    alan@workstation:~$ nginx -v            
    nginx version: nginx/1.14.0

    保持进程运行

    NOHUP

    注销或关闭终端时,进程可能不会继续运行。这种特殊情况可以通过在要使用 nohup 命令放在要运行的命令前面让进程持续运行。此外,附加一个 & 符号将会把进程发送到后台,并允许您继续使用终端。例如,假设您想运行 myprogram.sh 。

    nohup myprogram.sh &

    nohup 会返回运行进程的 PID。接下来我会更多地谈论 PID。

    管理正在运行的进程

    每个进程都有一个唯一的进程标识号 (PID) 。这个数字是我们用来管理每个进程的。我们还可以使用进程名称,我将在下面演示。有几个命令可以检查正在运行的进程的状态。让我们快速看看这些命令。