标签:off 等等 eve linux进程 控制进程 node 页面 快捷键 锁定
进程定义
组成
程序和进程的区别
进程的生命周期
父进程复制自己的地址空间,创建一个新的子进程. 每个新进程分配一个唯一的进程ID(PID),满足跟踪安全性只需. PID和父进程(PPID)是子进程环境的元素 . 任何进程都可以创建子进程
所有进程都是第一个系统进程的后代
僵尸进程
常用的参数
[root@VM_0_15_centos ~]# ps -aux
USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
---|---|---|---|---|---|---|---|---|---|---|
oot | 1 | 0.0 | 0.3 | 191008 | 3624 | ? | Ss | Aug13 | 2:02 | /usr/lib/systemd/systemd --switched-ro |
root | 2 | 0.0 | 0.0 | 0 | 0 | ? | S | Aug13 | 0:00 | [kthreadd] |
root | 3 | 0.0 | 0.0 | 0 | 0 | ? | S | Aug13 | 0:31 | [ksoftirqd/0] |
root | 5 | 0.0 | 0.0 | 0 | 0 | ? | S< | Aug13 | 0:00 | [kworker/0:0H] |
root | 7 | 0.0 | 0.0 | 0 | 0 | ? | S | Aug13 | 0:00 | [migration/0] |
root | 8 | 0.0 | 0.0 | 0 | 0 | ? | S | Aug13 | 0:00 | [rcu_bh] |
选项 | 概述 |
---|---|
user | 启动这些进程的用户 |
pid | 进程的id |
%cpu | 进程占用cpu百分比 |
%men | 进程占用内存的百分比 |
vsz | 进程占用的虚拟内存大小(单位kb) |
rss | 进程占用的物理内存大小(kb) |
tty | 进程在哪个终端上运行 |
stat | 该进程目前的状态 |
start | 被触发启动的时间 |
time | 实际使用cpu运作的时间,有显示0:00的,耗费cpu资源不到1秒 |
command | 该程序的实际指令 |
stat选项详解
五个基本状态后面还可以加一些字母
tty选项详解
[root@VM_0_15_centos ~]# ps -ef
UID | PID | PPID | C | STIME | TTY | TIME | CMD |
---|---|---|---|---|---|---|---|
root | 1 | 0 | 0 | Aug13 | ? | 00:02:02 | /usr/lib/systemd/systemd --switched-root --system --des |
root | 2 | 0 | 0 | Aug13 | ? | 00:00:00 | [kthreadd] |
root | 3 | 2 | 0 | Aug13 | ? | 00:00:31 | [ksoftirqd/0] |
root | 5 | 2 | 0 | Aug13 | ? | 00:00:00 | [kworker/0:0H] |
root | 7 | 2 | 0 | Aug13 | ? | 00:00:00 | [migration/0] |
选项 | 概述 |
---|---|
UID | 启动这些进程的用户 |
PID | 进程的ID |
PPID | 父进程的ID号 |
C | 进程生命周期的利用率 |
Stime | 启动启动时的系统时间 |
tty | 进程在哪个终端上运行 |
time | 运行进程累计需要的cpu时间 |
cmd | 启动的程序名称 |
查看系统负载
[root@VM_0_15_centos ~]# uptime
19:36:10 up 13 days, 3:47, 1 user, load average: 0.00, 0.01, 0.05
选项 | 概述 |
---|---|
19:36:10 | 当前时间 |
up 13 days | 系统运行时间,说明这台服务器已经开机13天了 |
1 user | 当前登录的用户数 |
load average: 0.00, 0.01, 0.05 | cpu系统负载,即cpu任务队列的平均长度,三个数值分别是1分钟,5分钟,15分钟的平均值 |
互动:
找出当前系统中,cpu负载过高的服务器
服务器:load average 0.15, 0.08, 0.01 1核
服务器:load average 4.15, 6.08, 6.01 1核
服务器:load average 10.15, 10.08, 10.01 4核
答案:4核
经验:单核心,1分钟的系统平均负载不差过3,就可以,这是个经验值
[root@VM_0_15_centos ~]# top
top - 19:42:40 up 13 days, 3:54, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 74 total, 2 running, 72 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.0 us, 0.0 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1014888 total, 65276 free, 108852 used, 840760 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 733124 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3504 root 20 0 611428 13364 1972 S 0.7 1.3 64:16.54 barad_agent
14759 root 20 0 146564 10968 3112 S 0.3 1.1 1:14.98 YDService
1 root 20 0 191008 3624 2284 S 0.0 0.4 2:02.70 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.08 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:31.08 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
选项 | 概述 |
---|---|
PID | 进程ID |
USER | 进程所有者 |
PR | 优先级 |
NI | nice值 |
VIRT | 进程使用的虚拟内存总量 |
RED | 进程使用的物理内存总量 |
SHR | 共享内存大小 |
S | 进程状态 |
%CPU | 进程占用的CPU百分比 |
%MEM | 进程占用的物理内存百分比 |
TIME+ | 进程使用的CPU总时间 |
COMMAND | 命令行 |
快捷键
例:-p通过进程ID查看单个进程
[root@VM_0_15_centos ~]# top -p 3081
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3081 root 20 0 112864 4304 3284 S 0.0 0.4 0:59.84 sshd
例:找出系统中占用系统进程最多的进程
top命令执行后按大写的P
[root@VM_0_15_centos ~]# top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2438 polkitd 20 0 614312 10460 1992 S 0.2 1.0 0:30.25 polkitd
3504 root 20 0 611428 13364 1972 S 0.2 1.3 64:21.77 barad_agent
14759 root 20 0 146876 11204 3112 S 0.2 1.1 1:18.95 YDService
在linux系统中最多可以使用100%CPU吗
理论上:如果你是4核心的cpu,你可以运行400%
选项
查看某个进程读了那些文件,调用了那些东西呢,一般用于木马进程
[root@VM_0_15_centos ~]# ps aux | grep ssh | grep -v grep
root 448 0.0 0.5 156744 5440 ? Ss 16:43 0:00 sshd: root@pts/0
root 3081 0.0 0.4 112864 4304 ? Ss Aug13 1:02 /usr/sbin/sshd -D
root 8557 0.0 0.5 156624 5120 ? Ss 17:53 0:00 sshd: unknown [priv]
sshd 8558 0.3 0.2 112864 2224 ? S 17:53 0:00 sshd: unknown [net]
[root@VM_0_15_centos ~]# lsof -p 3081
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 3081 root cwd DIR 253,1 4096 2 /
sshd 3081 root rtd DIR 253,1 4096 2 /
sshd 3081 root txt REG 253,1 853040 16204 /usr/sbin/sshd
sshd 3081 root mem REG 253,1 61624 22098 /usr/lib64/libnss_files-2.17.so
...
查看端口,或者看黑客开启的后门端口是哪个进程在使用
[root@VM_0_15_centos ~]# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 448 root 3u IPv4 13695793 0t0 TCP VM_0_15_centos:ssh->144.0.8.26:9545 (ESTABLISHED)
sshd 3081 root 3u IPv4 22003 0t0 TCP *:ssh (LISTEN)
以树形图显示进程,只显示进程的名字,且相同进程合并显示
[root@VM_0_15_centos ~]# pstree
systemd─┬─YDLive───{YDLive}
├─YDService───11*[{YDService}]
├─acpid
├─2*[agetty]
├─atd
├─auditd───{auditd}
├─barad_agent─┬─barad_agent
│ └─barad_agent───3*[{barad_agent}]
├─crond
├─dbus-daemon
├─dhclient
├─lsmd
├─lvmetad
├─ntpd
├─polkitd───6*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sgagent───{sgagent}
├─sshd─┬─sshd───bash───pstree
│ └─sshd───sshd
├─systemd-journal
├─systemd-logind
├─systemd-udevd
└─tuned───4*[{tuned}]
pstree -p 进程ID
[root@VM_0_15_centos ~]# pstree -p 3081
sshd(3081)───sshd(448)───bash(493)───pstree(9591)
# 管理进程
列出所有信号
[root@VM_0_15_centos ~]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
常用的信号
信号编号 | 信号名 | 解释 |
---|---|---|
1 | SIGHUP | 重新加载配置 |
2 | SIGINT | 键盘中断ctrl+c |
3 | SIGQUIT | 退出 |
9 | SIGKILL | 强制退出 |
15 | SIGTERM | 终止(正常结束),缺省信号 |
18 | SIGCONT | 继续 |
19 | SIGSTOP | 停止 |
20 | SIGTSTP | 暂停 ctrl+z |
关闭进程
[root@VM_0_15_centos ~]# ps aux | grep top | grep -v grep
root 10472 0.0 0.2 159780 2188 pts/1 S+ 18:10 0:00 top
[root@VM_0_15_centos ~]# kill 3 10472
[root@VM_0_15_centos ~]# ps aux | grep top | grep -v grep
killall
[root@VM_0_15_centos ~]# ps aux | grep top | grep -v grep
root 11480 0.0 0.2 159780 2148 pts/1 S+ 18:18 0:00 top
[root@VM_0_15_centos ~]# killall top
[root@VM_0_15_centos ~]# ps aux | grep top | grep -v grep
[root@VM_0_15_centos ~]#
pkill
[root@VM_0_15_centos ~]# ps aux | grep top | grep -v grep
root 11676 0.0 0.2 159780 2144 pts/1 S+ 18:20 0:00 top
[root@VM_0_15_centos ~]# pkill top
[root@VM_0_15_centos ~]# ps aux | grep top | grep -v grep
[root@VM_0_15_centos ~]#
优先级的取值范围(-20,19),越小优先级越高,默认优先级是0
设置优先级,通过ctrl+z挂起进程
[root@VM_0_15_centos ~]# nice -n 5 vim h.txt
[1]+ Stopped nice -n 5 vim h.txt
查看进程的PID
[root@VM_0_15_centos ~]# ps aux | grep vim | grep -v grep
root 12206 0.0 0.4 151272 4944 pts/0 TN 18:24 0:00 vim h.txt
根据PID查看进程的信息
[root@VM_0_15_centos ~]# top -p 12206
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12206 root 25 5 151272 4944 2584 T 0.0 0.5 0:00.02 vim
可以发现优先级是5
&用在一个命令的最后,可以把这个命令放到后台执行
[root@VM_0_15_centos ~]# top &
[2] 13061
?ctrl + z可以将一个正在前台执行的程序放到后台
[root@VM_0_15_centos ~]# ll > ./123.txt
[root@VM_0_15_centos ~]# tail -f ./123.txt
-rw-r--r-- 1 root root 136 Aug 24 23:25 2.txt
-rw-r--r-- 1 root root 49 Aug 24 23:23 a.txt
-rw-r--r-- 1 root root 50 Aug 24 14:12 b.txt
-rw-r--r-- 1 root root 12 Aug 24 23:05 cpu.txt
-rw-r--r-- 1 root root 52428800 Aug 24 23:16 c.txt
drwxr-xr-x 2 root root 4096 Aug 21 21:22 DES_DIR
-rw-r--r-- 1 root root 97 Aug 24 23:07 eof.sh
-rw-r--r-- 1 root root 275 Aug 21 21:38 packups.sh
-rw-r--r-- 1 root root 146 Aug 21 21:47 ping.sh
-rw-r--r-- 1 root root 292 Aug 21 21:59 useradd1.sh
^Z
[4]+ Stopped tail -f ./123.txt
jobs查看当前有多少在后台运行的进程,这是一个作业控制命令
[root@VM_0_15_centos ~]# jobs
[1] Stopped nice -n 5 vim h.txt
[2] Stopped top
[3]- Stopped top
[4]+ Stopped tail -f ./123.txt
?
fg命令将后台中的命令调到前台继续运行,
如果后台中有多个命令可以用 fg %jobnumber将选中的命令调出,
%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)?
[root@VM_0_15_centos ~]# fg 4
tail -f ./123.txt
我们再次远程,进行更改文件
[root@VM_0_15_centos ~]# ls >> 123.txt
发现在监视改文件
[root@VM_0_15_centos ~]# fg 4
tail -f ./123.txt
123.txt
1.txt
2.txt
a.txt
b.txt
cpu.txt
c.txt
DES_DIR
eof.sh
packups.sh
ping.sh
useradd1.sh
bg命令将一个在后台中暂停的进程,变成继续执行,用法同上
场景:公司晚上需要备份1t数据,我再xshell上直接执行备份脚本back.sh可以吗?
或直接运行back.sh&放到后台运行可以吗?
当关了xshell,back.sh&还在后台执行吗?
xshell长时间连接,如果本地网络偶尔断开或者xshell不小心关闭,都会让后台运行的备份命令停止运行的
安装
[root@VM_0_15_centos ~]# yum install screen -y
?
用法:
执行screen,将打开一个全新的会话
运行你的备份任务,或者vim a.txt命令
这时可以键入快捷键ctrl+a+d??
就已经分离出一个单独的会话
[root@VM_0_15_centos ~]# screen
[detached from 15042.pts-0.VM_0_15_centos]
screen -ls 查看已经建立的会话id
[root@VM_0_15_centos ~]# screen -ls
There is a screen on:
15042.pts-0.VM_0_15_centos (Detached)
1 Socket in /var/run/screen/S-root.
[root@VM_0_15_centos ~]#
通过PID 重新连接会话
[root@VM_0_15_centos ~]# screen -r 15042
创建会话时也可以指定名称
[root@VM_0_15_centos ~]# screen -S text
当不想使用screen会话了,exit退出
[root@VM_0_15_centos ~]# exit
标签:off 等等 eve linux进程 控制进程 node 页面 快捷键 锁定
原文地址:https://www.cnblogs.com/inmeditation/p/11572317.html