linux 进程和计划任务管理


进程的真正执行者线程。
linux的任务管理器
类型:静态查看进程 动态查看进程
1、静态查看进程:    父进程---子进程
    父进程先启动---子进程再启动,是由父进程给子进程进行分配资源  ---子进程运行
    结束运行:子进程先结束---父进程负责资源回收,然后父进程才会结束
    子进程没结束,父进程结束,子进程变成僵尸进程
ps 查看静态进程的统计信息
      a 显示当前终端上的所有进程,包括其他用户进程
      u:列出所有进程的用户
      x:显示所有终端的进程信息
USER        PID   %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
USER:进程所属用户   
PID:进程的id号,标的:对应的进程名
%CPU:进程占用CPU百分比
%MEM:进程占用物理内存百分比
VSZ:进程占用的虚拟内存(KB)
RSS:进程占用的物理内存(kb)
TTY:表示启动终端,?:表示不是从终端打开的进程
STAT:进程状态。
            S休眠状态    
            D不可
            R:运行中的进程
            T: 停止状态。
            z:僵尸进程
            小写的s:表示该进程拥有子进程
            <:高优先级
            N:低优先级终端的休眠状态进程
            +:前台运行的进程。
            l:进程有多个线程
START    :进程开启时间
time:进程占用cpu的时间
COMMAND:表示进程启动的命令
ps -elf
e:显示系统内所有进程的信息
1:长格式显示进程信息
f:完整格式显示进程信息
F S UID         PID   PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY    TIME CMD
F:内核分配给进程的标记
S:进程状态
PID:进程的pid号
PPID:进程的父进程号
C:进程生命周期中cpu的使用率
PRI:进程优先级,数字越大,优先级越低
NI 谦让值,决定优先级的大小
ADDR 进程在内存中的大小
SZ:进程被换出,需要swap空间的大致大小。
WCHAN:显示休息进程的系统函数名
STIME:进程的启动时时间
TTY:启动的终端
TIME:进程占用CPU的时间
CMD:

2、僵尸进程(kill杀不掉,占有系统资源很小)
        1.安装gcc
        2.创建wait.c
写入            
#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>

int main(int argc, char **argv)
{
    pid_t pid;

    pid = fork();
    if (pid == 0) {     // child
        printf("child pid = %d\n", getpid());
        printf("in child...\r\n");
        sleep(2);
    } else if (pid > 0) {  // father
        sleep(10); /* 子进程 2s 钟后提前结束,等待父进程回收其资源,在这期间,子进程处于僵尸状态 */
        wait(NULL);
    }

    return 0;
}
        3.
        4../wait.out执行
        查看ps -aux | grep “pid号”
        僵尸进程过多,只能重启释放
pstree:以树形结构列出进程的信息(线程)
-a    显示进程所有的完整信息
-p    查看进程的线程
-u    查看进程所属的用户


动态查看进程:
top
数字键 1 显示所有CPU个数和CPU工作状态
        c    根据cpu使用百分比的大小进行排序。
        q    退出
top -b -n 1 运行一次即退出
load average: 0.00,0.01,0.05        
系统负载         1min   5min  15min单位时间内系统处理的任务数
total:总进程数
running:运行中的进程
sleeping:休眠进程
stopped:停止进程
zombie:僵尸进程
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
us用户进程占用cpu的大小(管理员程序用户 普通用户)
sy内核进程占用cpu大小
ni优先级调度占用cpu的大小
id空闲cpu的百分比
wa:磁盘读写性能
hi:1        一分钟cpu使用率
si:5        五分钟cpu使用率
st:15        十五分钟cpu使用率
Mem内存
Swap交换分区的信息

htop

五大负载和优化查看
一、cpu负载:
        了解是否过载,提高优化CPU负载的进程
二、内存负载:
        监控内存的空间:free -h
        优化:释放一些不必要的内存占用,关闭不需要的服务,释        放内存
        清缓存echo 1 > /proc/sys/vm/drop_caches    发版期用
三、磁盘负载
        监控I/O:iostat
四、网络负载
        监控网络带宽ifconfig/iftop(要epel第三方源下载) 
五、进程负载
        top


进程管理
1、pgrep:查找进程的pid,结合kill命令一起使用
        -a:显示进程名和pid
        -c:仅显示匹配进程的数量,其他的都不显示
        -f:匹配进程名和参数。
使用方式:pgrep -a httpd
2、kill杀进程,传递信号给内核,执行终止程序的命令
-9 表示进程要停止,需要立刻退出
-15 告诉进程要被停止,自行退出
3、jobs 列出后台进程的状态信息
-l:显示所有后台进程的pid号
-n:仅显示最近后台的进程
-r:仅显示正在运行的后台进程
-s: 仅显示已停止的后台进程
后台运行 cp -a /mnt/ /opt/123  &

包java &
ctrl+z 放到后台并停止
fg把后台的程序调度到前台


总结

静态:
ps -aux
ps -elf1
一般不是单独使用: ps -aux | grep “”

动态:
top: cpu: us 用户占用cpu的百分比
           id: 空闲cpu的百分比

五大负载:
cpu:负载: top htop epel
内存: 清缓存:echo 1 >/proc/sys/vm/drop_caches
磁盘:I/0 iostat
网络: iftop
进程: ps/top


pgrep和kill一块使用:
根据进程名找出进程号
kill -9 终止进程
kill 只是发送信号,不是执行者。

后台运行:&
查看 jobs -l
       jobs -r

ctrl+ z 放到后台,并且停止运行
fg序号jobs-l 查看的序号。

计划任务

* * * * *  分别表示 分 时 日 月 周
分 0-59
时 0-23
日 0-31 
月 1-12
周 0-7      周日 0和7    
1,3,5**** 表示多个不连续的时间
1-5 ****  表示1-5负责,都会执行
*/10****  表示每十分钟执行一次
crontab -e 创建定时任务
         ***** 执行脚本绝对路径
    
-u 指定用户创建定时任务,不加默认当前
-l 查看定时任务
-r 清空所有        不要使用,正确使用进入crontab -e 一个一个删

查看邮件 cat /var/spool/mail/root
例:
30 9 1 * *            
每个川第一大上午 9 点 30 分执行定时任务

30 12 8 6 *
每年6月8号的上午 12 点半执行

30 6 */10 * *
每个月,每隔 10 天,每天的早上 6 点半,执行

25 8-11 * 1,6,9 3
每天的 25 8到 11点 1,6,9 每周的周三

10-30 9-10 * * 2
每天 10-30 分钟 每天 9-10 每周二执行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值