当前位置:网站首页>进程和计划任务管理

进程和计划任务管理

2022-08-10 12:40:00 宋回嘉乐吗

一,程序和进程的关系

       程序:保存在硬盘之类的介质中的可执行的代码和数据,文件中静态保存的代码

       进程:在cpu及内存中运行的程序代码,动态执行的代码,一个程序可以创建一个或者多个进程

二、ps命令:查看进程信息(静态)(两种方法)

        -a :显示终端上的所有的进程,包括其他用户的进程

        -u::标识列出进程的用户

        -x: 显示所有终端的进程

        -T:查看线程

  

  •  每一个字段的解释(从左往右) 

(1)USER:进程的用户。

(2)PID:进程的ID。

(3)%CPU:进程占用的CPU百分比。

(4)%MEM:占用内存的百分比。

(5)VSZ:该进程使用的虚拟内存量(KB)。

(6)RSS:该进程占用的物理内存量(KB)。

(7)TTY:启动进程的终端名。不是从终端启动的进程则显示为 ?

(8)STAT:该行程的状态:D:不可中断的休眠状态;R:正在运行状态;S:处于休眠状态,             可被唤醒;T:停止状态,可能是在后台暂停或进程处于跟踪 调试状态;Z:僵尸进程,进             程已经中止,但是部分程序还在内存当中

 (9)TIME:进程实际使用CPU运行的时间。

 (10)COMMAND:进程的启动命令。


二、第二种查看进程的方法(同样是静态的)

         ps -elf 

                 -e :显示系统内的所有进程

                 -l  :使用长格式显示进程信息

                 -f  :使用完整的格式显示进程信息

  • 每一个字段的解释

(1)F:内核分配给进程的系统标记。

(2)S:进程的状态(就是上面STAT)。

(3)UID:启动这些进程的用户。

(4)PID:进程的进程ID。

(5)PPID:父进程的进程号(如果该进程是由另一个进程启动的)。

(6)C:进程生命周期中的CPU利用率。

(7)PRI:进程的优先级(越大的数字代表越低的优先级)。

(8)NI:谦让度值用来参与决定优先级。

(9)ADDR:进程的内存地址。

(10)SZ:假如进程被换出,所需交换空间的大致大小。

(11)WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名。

(12)STIME:进程启动时的系统时间。

(13)TTY:进程启动时的终端设备。

(14)TIME:运行进程需要的累计CPU时间。

(15)CMD:进程的启动命令。

三、查看进程信息(动态)(iotop,atop)

  top -H:查看线程   w:也可以查看系统负载  uptime:也可以查看系统负载 及load average

3.1在top命令里常用的键位

        P:根据使用CPU的情况从大到小排列

        M:使用物理内存的大小来排列

        N:根据启动的时间来排序

        c(小写):切换显示命令名称和完整命令行

        k:根据提示来杀掉你想杀掉的进程

        q:退出

第一行是任务队列信息:

  • 18:05:45:当前系统时间
  • up 9:06:当前系统运行时长
  • 1 user:当前系统用户数
  •  load average:系统负载,后面的三个数值是1分钟,5分钟,15分钟之前到现在的平均值

         举例:当前平均负载的值为4:

                     对于只有1个cpu的系统,意味着平均有三个进程竞争不到CPU

                     对于只有4个cpu的系统,意味着CPU利用率为100% 

                     对于只有1个cpu的系统,意味着CPU利用率为50%,有一半空闲

第二行为进程信息:

  • Tasks :总进程数
  • running :正在运行的进程数
  • sleeping :休眠的进程数
  • stopped :中止的进程数
  • zombie :僵死的进程数

第三行为CPU的信息:

  •    us :用户占用
  •    sy :内核占用
  •    ni :优先级调度占用
  •    id :空闲CPU,要了解空闲的 CPU 百分比,主要看%id 部分
  •    wa:I/O 等待占用
  •    hi :硬件中断占用
  •    si :软件中断占用
  •    st :虚拟化占用

  第四行为内存的信息

  •     total:总内存空间
  •     free :空闲内存
  •     used:已用内存
  •     buff/cache:buff:写入缓冲 cache:读缓存

   第五行为交换空间的信息

  •      total:总交换空间
  •      free :空闲交换空间
  •      used:已用交换空间
  •      avail Mem:可用物理空间

进程信息各个字段的解释
(1)PID:进程id

(2)USER:进程所有者的用户名

(3)PR:优先级

(4)NI:谦让度值。负值表示高优先级,正值表示低优先级

(5)VIRT:进程使用的虚拟内存总量,单位kb

(6)RES:进程使用的物理内存大小,单位kb

(7)SHR:共享内存大小,单位kb

(8)S:进程状态

(9)%CPU:上次更新到现在的CPU时间占用百分比

(10)%MEM:进程使用的物理内存百分比

(11)TIME+:进程使用的CPU时间总计,单位1/100秒

(12)COMMAND :命令名/命令行

四、pgrep命令(根据条件查看进程)

      用法:pgrep -l  “进程的关键字”

  pgrep常用参数:

                    -U:根据用户名查看

                    -t:  根据终端查看

                    -l:根据进程名查看进程

创建张三这个用户并且切换到张三这个用户,vim一个文件再用

 pgrep -l “vim” -U zhangsan 可以查找到张三这个用户的vim的进程

五、进程树pstree

      pstree -aup   

                     -a:显示完整的信息

                     -u:列出对应用户名

                     -p:列出对应的PID

 六、进程的启动方式

       1.手动启动进程

                 (1).前台启动:直接在命令行输入命令,然后执行程序

                 (2).后台启动:输入命令,命令的后面加上‘&’符号

             后台启动的演示

                        加上&后台启动后输入命令会显示进程号

                    

              

            2.调度启动

                       (1)使用at命令,设置一次性计划任务
                       (2)使用crontab命令,设置周期性计划任务

  七、进程的前后台调度

           1.crtrl+z  :将正在执行的程序停止执行并且调入后台

   

               2. job命令 (查看处于后台的进程)

                 -l:长格式显示

            (显示的是上一条被停止的进程)

                3.fg命令 :将后台停止的进程恢复到前台来运行,需要指定任务的序号

 八:终止进程的运行

     1.ctrl+c:终止正在执行的命令

     2.kill  用于终止进程需要指定pid号

               -9 :强制删除

     3.killall 用于终止指定名称的相关的所有进程

九:计划任务(调度启动)

    at命令:一次性计划任务

            用法:at 【HH:MM】【yyyy-mm-dd】

     查看没有执行的任务 需要用到 atq命令

                 atq:查看未执行的任务

 管理计划任务

                  atrm:可以删除创建号的任务但是需要加上任务的序号

 十、crontab命令(周期性的计划任务)

         (1)按照设置的时间周期(分、时、日、月、周)重复执行用户指定的命令操作

         (2)主要设置文件
                   全局配置文件,位于文件:/etc/crontab
                   系统默认的设置,位于目录:/etc/cron.*/
                   用户定义的设置,位于文件:/var/spool/cron/用户名

          用法:crontab -e 【-u 用户名】 如果不加-u 默认就是当前用户

 

10.1时间数值的特殊表示方法

     *表示该范围内的任意时间
     ,表示间隔的多个不连续时间点
     -表示一个连续的时间范围
     /表示间隔的时间频率

     例子:(分、时、日、月、周)

             0 17 * * 1-5 周一到周五每天17点

             30 8 * * 1,3,5 周一,周三,周五8.30

             0 8-18/2 * * * 8点到18点每两小时

             0 * */3 * *  每三天

原网站

版权声明
本文为[宋回嘉乐吗]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_48271370/article/details/126232141