开开心心了解————进程和计划任务管理

查看和控制进程

什么是程序?什么是进程?
程序是保存在外部存储介质(如硬盘,光盘)中的可执行的机械代码和数据的静态集合。进程则是在CPU及内存中处于动态执行状态的计算机程序。通俗的说进程就会正在运行的程序。+

怎么查看进程

方法一:用ps命令查看静态的进程统计信息
常用选项:
-a 显示一个终端的所有进程,除了会话引线
-u uid or username 选择有效的用户id或者是用户名
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
-l 长格式(有F,wchan,C 等字段)
-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
常用的选项组合
-aux 显示所有包含其他使用者的行程
-elf 以长格式显示系统中的进程信息,并包含丰富的内容

[root@localhost ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.4  0.1 128164  6824 ?        Ss   22:08   0:02 /usr/lib/systemd/syst

Head标头:
USER 用户名
UID 用户ID(User ID)
PID 进程ID(Process ID)
PPID 父进程的进程ID(Parent Process id)
SID 会话ID(Session id)
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小(Virtual Size)
RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
TTY 与进程关联的终端(tty)
STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
直接执行ps仅仅显示当前的会话中打开的进程
ps aux |grep bash ##过滤出包含bash的进程信息
方法二:用top命令查看进程动态信息
每三秒刷新一次

[root@localhost ~]# top
top - 22:31:00 up 22 min,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 198 total,   1 running, 197 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3865308 total,  2216624 free,   818412 used,   830272 buff/cache
KiB Swap:  4194300 total,  4194300 free,        0 used.  2746016 avail Mem 
   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND          
 12963 lai       20   0 2094872 256356  51892 S   0.7  6.6   0:10.76 gnome-shell      
     1 root      20   0  128164   6824   4064 S   0.0  0.2   0:02.75 systemd     

第1行:top - 05:43:27 up 4:52, 2 users, load average: 0.58, 0.41, 0.30

内容含义05:43:27表示当前时间up 4:52系统运行时间 格式为时:分2 users当前登录用户数load average: 0.58, 0.41, 0.30系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第2行:Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie
第3行:%Cpu(s): 37.0 us, 3.7 sy, 0.0 ni, 59.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
第2、3行为进程和CPU的信息
当有多个CPU时,这些内容可能会超过两行,其参数如下:
内容含义159 total进程总数1 running正在运行的进程数158 sleeping睡眠的进程数0 stopped停止的进程数0 zombie僵尸进程数37.0 us用户空间占用CPU百分比3.7 sy内核空间占用CPU百分比0.0 ni用户进程空间内改变过优先级的进程占用CPU百分比59.3 id空闲CPU百分比0.0 wa等待输入输出的CPU时间百分比0.0 hi硬中断(Hardware IRQ)占用CPU的百分比0.0 si软中断(Software Interrupts)占用CPU的百分比0.0 st
第4行:KiB Mem: 1530752 total, 1481968 used, 48784 free, 70988 buffers
第5行:KiB Swap: 3905532 total, 267544 used, 3637988 free. 617312 cached Mem
第4、5行为内存信息
内容含义KiB Mem: 1530752 total物理内存总量1481968 used使用的物理内存总量48784 free空闲内存总量70988 buffers(buff/cache)用作内核缓存的内存量KiB Swap: 3905532 total交换区总量267544 used使用的交换区总量3637988 free空闲交换区总量617312 cached Mem缓冲的交换区总量。3156100 avail Mem代表可用于进程下一次分配的物理内存数量
pgrep命令查看进程信息
pgrep -l “log” ##查看进程名中包含log的进程及其PID号
pgrep -l -U lai -t tty1 ##-U是查询特定用户的进程 -t 选项查询在特定终端上运行
进程树
执行pstree -aup 可以查看当前系统的进程树,包含各进程对应的PID号,用户名
完整命令等信息
执行pstree -ap lai 可以查看来用户的进程和子进程
常有netstat -antp |grep httpd查看端口号

控制进程

1、手动启动进程
cp /dev/cdrom mycd.iso& ##输出信息中包括后台任务序号、PID号。
2、改变进程的运行方式
在下载比较大的文件的时候如果在前台显示就会耽误你的其他操作,所以有时候要把这个进程放在后台

wget ftp://172.17.17.13/Firefox-latest.tar.bz2
按Ctrl+Z可以把进程放在后台(暂停运行)
jobs		##查看后台的进程任务
jobs -l		##可以看前面挂载的进程任务
fg 1		##将后台进程掉到前台1是进程号

注意:使用bg命令,能将后台暂停的任务恢复运行,继续在后台
3、终止进程执行
用Ctrl+C无法终止进程可以用kill、killall和pkill进行终止

pgrep -l "sshd"   ##看sshd的进程号
1111 sshd
kill 1111	##可以终止sshd进程
还可以结合-9强行终止终止

killall 可以直接后面跟进程的名称终止进程 可以是多杀
pkill命苦执行的是面杀
如pgrep -l -U “hackli” ##确认用户
pkill -9 -U “hackli” ##终止用户的进程

计划任管理

at一次性任务设置

[root@localhost ~]# date
2020年 11月 01日 星期日 00:00:55 CST
[root@localhost ~]# at 00:05 2020-01-01
at: refusing to create job destined in the past
[root@localhost ~]# at 00:05 2020-11-01
at> pgrep -U root | wc -l >/opt/lai2
at> <EOT>		##ctrl+D执行
job 2 at Sun Nov  1 00:05:00 2020
您在 /var/spool/mail/root 中有邮件
[root@localhost ~]# at 01:00
at> shotdown -h now
at> <EOT>
job 3 at Sun Nov  1 01:00:00 2020
[root@localhost ~]# atq		##查
2 Sun Nov  1 00:05:00 2020 a root
3 Sun Nov  1 01:00:00 2020 a root
[root@localhost ~]# atrm 3	##删除
[root@localhost ~]# atq
2 Sun Nov  1 00:05:00 2020 a root

crontab 周期性任务设置

1、配置文件位置

[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash	##执行计划任务的shell环境
PATH=/sbin:/bin:/usr/sbin:/usr/bin	##定义可执行命令及程序的路径
MAILTO=root	##将任务输出信息发送到指定用户的邮箱
HOME=/	##执行计划任务时使用的主目录

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

crontab -l 查看当前用户的定时任务
crontab -e 编辑当前用户的定时任务
crontab -r 删除当前用户的定时任务
crontab -u 指定用户
分 时 年 月 周
“-” 表示连续时间段
“*” 表示取值范围为任意时间
“,” 表示间隔不连续范围
“/” 表示指定间隔频率

  • 表示第几分钟(小时/日/月/星期)执行一次 ;
  • */n 表示每n分钟(小时/日/月/星期)执行一次;
  • T1-T2 表示从T1到T2分钟(小时/日/月/星期)要执行任务;
  • a,b,c 表示a,b,c分钟(小时/日/月/星期)分别执行一次; 1: 59 23 * * *
    1:/home/oracle/scripts/alert_log_archive.sh >/dev/null 2>&1
    表示每天23点59分执行脚本/home/oracle/scripts/alert_log_archive.sh
    2: /5 * * * * /home/oracle/scripts/monitoring_alert_log.sh >/dev/null 2>&1
    表示每5分钟执行一次脚本/home/oracle/scripts/monitoring_alert_log.sh
    3: 0 20 * * 1-5 mail -s "
    *********" k@.name < /tmp/maildata
    周一到周五每天下午 20:00 寄一封信给 k@.name
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值