博客
关于我
进程和计划任务管理
阅读量:381 次
发布时间:2019-03-05

本文共 1847 字,大约阅读时间需要 6 分钟。

进程和计划任务管理

程序与进程的关系

程序是存储在硬盘、光盘等介质中的可执行代码和数据文件中,而进程则是在CPU及内存中运行的程序代码。程序是静态保存的代码,进程则是动态执行的代码。每个程序可以创建一个或多个进程,进程通过父、子进程的关系相互关联。进程运行的最小执行单元是线程。

进程的五种状态

进程在运行过程中可以处于以下五种状态:

  • 运行(Running):进程正在运行或在运行队列中等待。
  • 中断(Interruptible):进程在休眠状态,等待某个条件的形成或接受到信号。
  • 不可中断(Non-Interruptible):进程收到信号但无法唤醒,必须等待中断发生才能继续执行。
  • 僵死(Zombie):进程已终止,但进程描述符仍然存在,直到父进程调用wait4()系统调用后才会释放。
  • 停止(Stopped):进程收到SIGSTOPSIGSTPSIGTINSIGTOU信号。
  • 查看进程信息

    方法一:ps aux

    ps aux命令用于查看系统中的进程信息,参数解释如下:

    • a:显示终端上的所有进程。
    • u:显示进程的用户。
    • x:显示所有终端的进程。

    方法二:ps -elf

    ps -elf命令用于查看详细的进程信息,参数解释如下:

    • -e:显示系统内的所有进程信息。
    • -l:使用长格式显示进程信息。
    • -f:使用完整的格式显示进程信息。

    查看进程信息

    使用top命令可以实时查看系统资源使用情况及其进程信息,常用操作包括:

    • P键:按PID从小到大排序。
    • M键:按物理内存大小排序。
    • N键:按启动时间排序。
    • c键:切换显示命令名称和完整命令行。
    • k键:输入PID号终止进程。
    • q键:退出top程序。

    进程信息区各列解释

    列名 说明
    PID 进程ID
    USER 进程所有者的用户名
    PR 优先级
    NI 谦让度值
    VIRT 虚拟内存总量(KB)
    RES 物理内存使用量(KB)
    SHR 共享内存使用量(KB)
    S 进程状态
    %CPU 上次更新到现在的CPU百分比
    %MEM 物理内存百分比
    TIME+ 进程使用的CPU时间总计
    COMMAND 进程的启动命令或命令行

    查看进程树

    使用pstree命令可以以树形结构列出进程信息,常用参数包括:

    • -a:显示完整信息。
    • -u:列出对应用户名。
    • -p:列出对应PID号。

    进程的启动方式

    进程的启动方式主要有以下几种:

  • 手工启动

    • 前台启动:直接执行程序命令,不加&符号。
    • 后台启动:在命令行尾加上&符号。
  • 调度启动

    • 使用at命令设置一次性计划任务。
    • 使用crontab命令设置周期性计划任务。
  • 进程的前后台调度

    • 使用Ctrl+z组合键将当前程序挂起。
    • 使用jobs命令查看后台任务列表。
    • 使用fg命令将后台进程恢复到前台运行。
  • 终止进程

    方法一:使用kill命令

    • kill -9 PID:强制终止指定PID号的进程。

    方法二:使用pkill命令

    • pkill -f "进程名称":根据进程名称或描述终止相应的进程。
    • pkill -u 用户名:根据用户名终止该用户的所有进程。

    计划任务管理

    使用at命令设置一次性计划任务

    at命令用于设置一次性计划任务,操作步骤如下:

  • 指定任务时间:at HH:MM
  • 指定日期:at HH:MM yyyy-mm-dd
  • 输入任务命令:每行输入一个命令。
  • 按下Ctrl+D提交任务。
  • 使用crontab管理周期性计划任务

    crontab命令用于设置周期性计划任务,配置文件位于/etc/crontab,用户定义的任务位于/var/spool/cron/用户名。常用命令包括:

    • crontab -e:编辑计划任务。
    • crontab -l:查看计划任务。
    • crontab -r:删除计划任务。

    常用配置示例

    以下是crontab配置的常见格式:

    分钟   小时   日期   月份   周   命令0-59  0-23  1-31  1-12  0-7  /usr/bin/script*/5 * * * * /usr/bin/another_script

    示例:

    • 每分钟执行一次:*/1 * * * ** * * * *
    • 每5分钟执行一次:*/5 * * * ** * * * *
    • 每小时执行一次:0 * * * **/1 * * * *
    • 每天上午7点执行:0 7 * * *
    • 每天上午7点10分执行:10 7 * * *

    通过合理配置crontab文件,可以轻松实现系统的自动化任务调度。

    转载地址:http://wbeg.baihongyu.com/

    你可能感兴趣的文章
    Operation not supported on read-only collection 的解决方法 - [Windows Phone开发技巧系列1]
    查看>>
    OperationResult
    查看>>
    Operations Manager 2007 R2系列之仪表板(多)视图
    查看>>
    operator new and delete
    查看>>
    operator new 与 operator delete
    查看>>
    operator() error
    查看>>
    OPPO K3在哪里打开USB调试模式的完美方法
    查看>>
    oppo后端16连问
    查看>>
    OPPO软件商店APP侵权投诉流程
    查看>>
    Optional用法与争议点
    查看>>
    Optional类:避免NullPointerException
    查看>>
    Optional讲解
    查看>>
    ORA-00069: cannot acquire lock
    查看>>
    ORA-00923: 未找到要求的 FROM 关键字
    查看>>
    ORA-00932: inconsistent datatypes: expected - got NCLOB【ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB 】【解决办法】
    查看>>
    ORA-00942 表或视图不存在
    查看>>
    ORA-01034: ORACLE not available
    查看>>
    ORA-01152: 文件 1 没有从过旧的备份中还原
    查看>>
    ORA-01207:文件比控制文件更新 - 旧的控制文件
    查看>>
    ORA-01795: 列表中的最大表达式数为 1000
    查看>>