进程与计划任务

目录

一、程序和进程

什么是程序?

二、进程

什么是进程?

僵尸进程

进程的优先级 os

二、五大功能

prtstat:查看进程信息

pgrep命令:查看指定的进程

pidof

pstree命令进程树

结束进程命令:

三、计划任务

1.at一次性

2.crontab周期


一、程序和进程

什么是程序?

程序:是算机能识别和执行特定任务的一串代码。

二、进程

什么是进程?

进程:是程序的一个副本。

僵尸进程

父进程退出 子进程没有退出  那么这些子进程就没有父进程来管理了

子进程已经结束了,父进程没有意识到。

进程的优先级 os

  • 静态优先级:100-139
  • 进程默认启动时的nice值为0,优先级为120
  • 用户:-20 ~ 19

如何确定一个程序是单线程还是多线程?

cat /proc/pid文件/status看Threads

prtstat

grep -i Threads /proc/进程pid号/status

二、进程管理命令

五大功能:

内存:free,top

free:

free  -h


free  -m   #以m为单位查看

清除缓存:

top:动态地持续监听进程地运行状态

选项:

-d 秒数:指定 top 命令每隔几秒更新。默认是 3 秒;

-b:使用批处理模式输出。一般和"-n"选项合用,用于把 top 命令重定向到文件中;

-n 次数:指定 top 命令执行的次数。一般和"-"选项合用;

cpu:top ,  ps   aux

ps命令:可以查看进程当前状态的快照,默认显示当前终端中的进程

选项:

  • a:显示当前终端下的所有进程信息,包括其他用户的进程。与“x”选项结合时将示系统中所有的进程信息。

  • u:使用以用户为主的格式输出进程信息。

  • x:显示当前用户在所有终端下的进程信息。

  • -e:显示系统内的所有进程信息。

  • -l:使用长(Long)格式显示进程信息。

  • -f:使用完整的(Full)格式显示进程信

  • k|--sort 属性 对属性排序,属性前加 - 表示倒序 ps aux k -%cpu

  • o 属性… 选项显示定制的信息 pid、cmd、%cpu、%mem

常用选项 (ps aux) (ps -elf)

ps aux :可以查看系统中所有的进程

ps -elf:长格式完整显示所有进程

磁盘

大小:lsblk,剩余df

lsblk:查看硬盘大小及分区情况

df:查看磁盘整体使用情况

读写:iostat,dd,vimstat

iostat:可以提供更丰富的IO性能状态数据

例子:

#只看 sda硬盘

网络:dmstat,iftop

iftop:

prtstat:查看进程信息

如:prtstat  18356

pgrep命令:查看指定的进程

选项:

  • -U 指定用户

  • -l: 显示进程名

  • -a: 显示完整格式的进程名

  • -P pid: 显示指定进程的子进程

[root@localhost ~]# pgrep -l "log"   #显示进程名
457 xfs-log/dm-0 
697 xfs-log/sda1
739 xfs-log/dm-2
830 rsyslogd
850 systemd-logind
857 abrt-watch-log

[root@localhost ~]# pgrep -l -U zhangsan
#指定用户

pidof

已知程序名不知道pid号

[root@localhost ~]# pidof nginx  
#查看进程 nginx 的 pid号
67982 67981

pstree命令进程树

以树形结构显示进程信息

常用选项:

  • -a    显示启动每个进程对应的完整指令,包括启动进程的路径、参数等
  • -p 显示PID
  • -T 不显示线程thread,默认显示线程
  • -u 显示用户切换
  • -H pid 高亮显示指定进程及其前辈进程
[root@localhost ~]# pstree   
#以树形结构显示进程信息
systemd─┬─ModemManager───2*[{ModemManager}]
        ├─NetworkManager───2*[{NetworkManager}]
        ├─VGAuthService
        ├─abrt-watch-log
        ├─abrtd
        ├─accounts-daemon───2*[{accounts-daemon}]
        ├─alsactl
        ├─anacron
        ├─at-spi-bus-laun─┬─dbus-daemon───{dbus-daemon}
        │                 └─3*[{at-spi-bus-laun}]
        ├─at-spi2-registr───2*[{at-spi2-registr}]
        ├─atd
        ├─auditd─┬─audispd─┬─sedispatch
        │        │         └─{audispd}
        │        └─{auditd}


[root@localhost ~]# pstree 2
#查看进程号为2的进程
kthreadd─┬─ata_sff
         ├─5*[bioset]
         ├─crypto
         ├─deferwq
         ├─ipv6_addrconf
         ├─kauditd
         ├─kblockd
         ├─kdevtmpfs
         ├─3*[kdmflush]
         ├─khugepaged
         ├─khungtaskd
         ├─kintegrityd
         ├─kmpath_rdacd

[root@localhost ~]# pstree lisi
#查看用户lisi的进程


[root@localhost ~]# pstree -pH 67982
#高亮   
  ├─nginx(67981)───nginx(67982)

结束进程命令:

kill [信号] PID:关闭进程

kill   - 9  pid  :  强制结束进程

killall   pid  :  关闭进程

三、计划任务

1.at一次性

[root@localhost ~]# at 16:52 2023-11-06
at> touch /opt/test{1..3}.txt <EOT>
job 1 at Mon Nov  6 16:52:00 2023

[root@localhost ~]# atq
您在 /var/spool/mail/root 中有新邮件

2.crontab周期

crontab -e
#进入 crontab 编辑界面。会打开Vim编辑你的任务
* * * * * 执行的任务

选项功能
-u user用来设定某个用户的 crontab 服务,例如 "-u demo" 表示设备 demo 用户的 crontab 服务,此选项一般有 root 用户来运行。
-e编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。
-l显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。
-r从 /var/spool/cron 删除某用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。
-i在删除用户的 crontab 文件时,给确认提示。
项目含义范围
第一个*分钟0-59
第二个*小时0-23
第三个*1-31
第四个*1-12
第五个*0-7,0和7都代表周日

特殊

符号

含义
*(星号)代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。
,(逗号)代表不连续的时间。比如"0 8,12,16***命令"就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。
-(中杠)代表连续的时间范围。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨 5 点 0 分执行命令。

/(正斜

线)

代表每隔多久执行一次。比如"*/10命令",代表每隔 10 分钟就执行一次命令。

例子:

#每两分钟复制一次

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值