linux常用命令:系统管理

目录

四、系统管理

1、启动进程

2、监听进程运行状态#

命令演示

查看特定进程结果图

3、查看进程树

命令演示

选项

4、终止进程#

命令演示

信号

5、放入后台命令 &和Ctrl+Z详解

6、后台命令脱离终端运行#


四、系统管理

1、启动进程

# 1、前台启动进程(最常用)
# 启动一个耗时的进程
# 控制台演示
[root@ZIBO ~]# find / -name demo.jpg # 从根本目录查找文件,非常耗时
^Z # Ctrl + Z 挂起进程。将进程挂起,指的是将前台运行的进程放到后台,并且暂停其运行
[1]+  Stopped                 find / -name demo.jpg
[root@ZIBO ~]# ps
    PID TTY          TIME CMD
  29793 pts/0    00:00:00 bash
  29818 pts/0    00:00:00 find # 我们刚才执行的find进程,进程号是29818
  29819 pts/0    00:00:00 ps

# 2、后台启动进程(用的相对较少,除非非常耗时,且不着急需要其运行结果)
# 后台启动方法:在命令结尾添加一个“&”符号(前面要加空格)
# 控制台演示
[root@ZIBO ~]# find / -name demo.jpg & # 后台启动进程
[2] 29835 # 控制台会打印一个进程号
[root@ZIBO ~]# ps
    PID TTY          TIME CMD
  29793 pts/0    00:00:00 bash
  29818 pts/0    00:00:00 find
  29835 pts/0    00:00:00 find # 后台启动的进程
  29836 pts/0    00:00:00 ps

 

2、监听进程运行状态#

命令演示

# 1、top 命令
# top 命令可以动态地持续监听进程地运行状态
# top 命令还提供了交互界面
# 格式
top [选项]

# 选项
-d 秒数:指定 top 命令每隔几秒更新。默认是 3 秒;
-b:使用批处理模式输出。一般和"-n"选项合用,用于把 top 命令重定向到文件中;
-n 次数:指定 top 命令执行的次数。一般和"-"选项合用;
-p 进程PID:仅查看指定 ID 的进程;
-s:使 top 命令在安全模式中运行,避免在交互模式中出现错误;
-u 用户名:只监听某个用户的进程;

# 在 top 命令的显示窗口中,还可以使用如下按键,进行一下交互操作
? 或 h:显示交互模式的帮助;
P:按照 CPU 的使用率排序,默认就是此选项;
M:按照内存的使用率排序;
N:按照 PID 排序;
T:按照 CPU 的累积运算时间排序,也就是按照 TIME+ 项排序;
k:按照 PID 给予某个进程一个信号。一般用于中止某个进程,信号 9 是强制中止的信号;
r:按照 PID 给某个进程重设优先级(Nice)值;
q:退出 top 命令;

# 控制台演示
# 系统当前时间、系统运行时间、当前登录的用户数量、系统在1、5、15分钟前的负载(不超过CPU核数)
top - 10:05:39 up 4 days, 15 min,  1 user,  load average: 0.00, 0.01, 0.00
# 系统中的进程总数、正在运行的进程、说面的进程、停止的进程、僵尸进程(如果不是 0,则需要手工检查僵尸进程)
Tasks: 110 total,   2 running, 107 sleeping,   1 stopped,   0 zombie
# 用户模式占用的 CPU 百分比、系统模式占用的 CPU 百分比、系统模式占用的 CPU 百分比
# 空闲 CPU 占用的 CPU 百分比、等待输入/输出的进程占用的 CPU 百分比、硬中断请求服务占用的 CPU 百分比
# 硬中断请求服务占用的 CPU 百分比、st(steal time)意为虚拟时间百分比,
# 就是当有虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比
%Cpu(s): 14.3 us,  0.0 sy,  0.0 ni, 85.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
# 物理内存的总量,单位为KB、己经使用的物理内存数量、空闲的物理内存数量、作为缓冲的内存数量
MiB Mem :   1818.9 total,     80.4 free,   1399.5 used,    338.9 buff/cache
# 交换分区(虚拟内存)的总大小、已经使用的交换分区的大小、已经使用的交换分区的大小、作为缓存的交换分区的大小
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    234.4 avail Mem 

# PID:进程的 ID。
# USER:该进程所属的用户。
# PR:优先级,数值越小优先级越高。
# NI:优先级,数值越小、优先级越高。
# VIRT:该进程使用的虚拟内存的大小,单位为 KB。
# RES:该进程使用的物理内存的大小,单位为 KB。
# SHR:共享内存大小,单位为 KB。
# S:进程状态。
# %CPU:该进程占用 CPU 的百分比。
# %MEM:该进程占用内存的百分比。
# TIME+:该进程共占用的 CPU 时间。
# COMMAND:进程的命令名
    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                               
      1 root      20   0  177364   7232   4232 S   0.0   0.4   0:06.80 systemd                               
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.04 kthreadd                             
      ……

# 下面是一些实战操作,更多参考http://c.biancheng.net/view/1065.html
# 2、只查看特定的进程
top -p 进程号
# 命令
top -p 29818
# 控制台演示[见-查看特定进程结果图]

# 3、帮助、退出、杀死进程
# q:退出top命令;
# ?或h:查看帮助
# k:杀死进程,会提示输入要杀死进程的PID
# 接下来 top 命令提示我们输入信号,信号 9 代表强制中止,这时就能够强制中止该进程了

# 4、其他常用
# "ps aux" 可以查看系统中所有的进程;
# "ps -le" 可以查看系统中所有的进程,而且还能看到进程的父进程的 PID 和进程优先级;
# "ps -l" 只能看到当前 Shell 产生的进程;

 

查看特定进程结果图

 

3、查看进程树

命令演示

# 命令格式[见-选项]
pstree [选项] [PID或用户名]

# pstree
# 控制台演示
[root@ZIBO ~]# pstree
systemd─┬─AliYunDun───22*[{AliYunDun}]
        ├─AliYunDunUpdate───5*[{AliYunDunUpdate}]
        ├─CmsGoAgent.linu─┬─exe───8*[{exe}]
        │                 └─5*[{CmsGoAgent.linu}]
        ├─NetworkManager───2*[{NetworkManager}]
        ├─2*[agetty]
        ├─aliyun-service───6*[{aliyun-service}]
        ├─assist_daemon───7*[{assist_daemon}]
        ├─atd
        ├─auditd─┬─sedispatch
        │        └─2*[{auditd}]
        ├─chronyd
        ├─containerd───8*[{containerd}]
        ├─containerd-shim─┬─tini───java───39*[{java}]
        │                 └─12*[{containerd-shim}]
        ├─containerd-shim─┬─tini───java───46*[{java}]
        │                 └─12*[{containerd-shim}]
        ├─crond
        ├─dbus-daemon
        ├─dockerd─┬─8*[docker-proxy───4*[{docker-proxy}]]
        │         └─10*[{dockerd}]
        ├─lsmd
        ├─mcelog
        ├─nginx───nginx
        ├─polkitd───5*[{polkitd}]
        ├─rngd───{rngd}
        ├─rsyslogd───2*[{rsyslogd}]
        ├─smartd
        ├─sshd───sshd───sshd───bash───pstree
        ├─sssd─┬─sssd_be
        │      └─sssd_nss
        ├─systemd───(sd-pam)
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        └─tuned───3*[{tuned}]

 

选项

选项含义
-a显示启动每个进程对应的完整指令,包括启动进程的路径、参数等。
-c不使用精简法显示进程信息,即显示的进程中包含子进程和父进程。
-n根据进程 PID 号来排序输出,默认是以程序名排序输出的。
-p显示进程的 PID。
-u显示进程对应的用户名称。

 

4、终止进程#

命令演示

# 格式
kill [信号] PID

# 常用杀死进程,直接kill -9 pid
# 控制台演示
[root@ZIBO ~]# find / -name demo.jpg
^Z
[1]+  Stopped                 find / -name demo.jpg
[root@ZIBO ~]# ps
    PID TTY          TIME CMD
  29793 pts/0    00:00:00 bash
  29923 pts/0    00:00:00 find
  29924 pts/0    00:00:00 ps
[root@ZIBO ~]# kill -9 29923 # 杀死进程
[root@ZIBO ~]# ps
    PID TTY          TIME CMD
  29793 pts/0    00:00:00 bash
  29925 pts/0    00:00:00 ps
[1]+  Killed                  find / -name demo.jpg ¥# 被杀死

 

信号

信号编号信号名含义
0EXIT程序退出时收到该信息。
1HUP挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。
2INT表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。
3QUIT退出。
9KILL杀死进程,即强制结束进程。
11SEGV段错误。
15TERM正常结束进程,是 kill 命令的默认信号。

 

5、放入后台命令 &和Ctrl+Z详解

# & 在后台处于【执行】状态,继续执行,执行完之后会有提示,有输出会输出
# 放入后台执行的命令不能与前台有交互,否则这个命令是不能在后台执行的

# 命令执行过裎中按 Ctrl+Z 快捷键,命令在后台处于【暂停】状态

 

6、后台命令脱离终端运行#

# 上面的放入后台命令 &和Ctrl+Z命令,只是当前登陆终端的后台,而不是远程服务器的后台,在程序运行结束之前退出登录,这个后台命令就不会继续执行了!
# 我们需要在远程终端执行某些后台命令,有以下3种方法:
# 1、把需要在后台执行的命令加入 /etc/rc.local 文件,让系统在启动时执行这个后台程序。这种方法的问题是,服务器是不能随便重启的,如果有临时后台任务,就不能执行了。
# 2、使用系统定时任务,让系统在指定的时间执行某个后台命令。这样放入后台的命令与终端无关,是不依赖登录终端的。
# 3、使用 nohup 命令

# nohup 命令
# nohup 命令的作用就是让后台工作在离开操作终端时,也能够正确地在后台执行
# 格式
nohup [命令] &
# 注意,这里的‘&’表示此命令会在终端后台工作;反之,如果没有‘&’,则表示此命令会在终端前台工作。

# 运行jar程序常用!

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值