当前位置: 首页 > article >正文

进程信息和定时任务

ps 显示当前系统中正在运行的进程的状态信息。

它是一个非常常用的命令行工具,可以帮助用户了解系统的活动情况,比如哪些进程正在运行、它们的资源消耗情况等。下面是一些关于 ps 命令的基础知识及其常用选项的介绍:

基本用法

  • 查看当前终端的所有进程

    ps
    
  • 查看当前用户的全部进程

    ps -u 用户名
    
  • 查看系统中所有的进程

    ps -e 或 ps -A
    
  • -aux:显示所有用户的进程,包括没有终端的进程。

  • -ef:显示所有进程的完整信息,包括父进程和子进程的关系。

常用选项

  • -a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
  • -x:显示没有控制终端的进程。
  • -u:以用户的角度显示进程信息。
  • -f:显示完整的、长格式的输出。
  • -l:显示长格式的输出,与 -f 类似但信息更多。
  • -o:自定义输出列,后面跟列名,如 ps -o pid,ppid,cmd
  • -p:指定进程ID,可以指定多个,中间用逗号隔开。
  • -t:指定终端。
  • -e:显示所有进程,等同于 -A
  • -C:指定命令名来过滤进程。

控制终端(Controlling Terminal)是指与进程关联的终端设备,通常是用户通过终端登录系统时打开的终端窗口。

没有控制终端的进程是指那些没有与任何终端设备关联的进程。这些进程通常是由守护进程(daemon)或后台任务创建的。

有控制终端的进程:通常是在终端窗口中启动的进程,TTY 列显示为终端设备名(如 pts/0)。
没有控制终端的进程:通常是由守护进程或后台任务创建的进程,TTY 列显示为 ?。

实例

  • 查看所有进程的详细信息

    ps -ef
    
  • 查看特定用户的进程

    ps -u username
    
  • 查看特定命令相关的进程

    ps -C command_name
    
  • 自定义输出列

    ps -eo pid,ppid,cmd,%mem,%cpu
    

    -🌟 结合其他命令使用
    例如,可以将 ps 命令与 grep 结合使用,来查找特定的进程:

      ps -ef | grep mysql
      ps -ef | grep ip
    
  1. ps -ef | grep user

    • 功能:列出所有包含 “user” 字样的进程信息。
    • 说明:ps -ef 命令列出了系统中所有进程的详细信息,然后通过 grep user 过滤出包含 “user” 的行。
  2. ps -ef | grep user| grep -v grep

    • 功能:列出除 grep 进程外的所有包含 “user” 字样的进程信息。
    • 说明:先使用 ps -ef | grep user 获取包含 “user” 的所有进程信息,再通过 grep -v grep 排除掉 grep自身 产生的进程条目。

kill 终止进程

基本语法
kill [选项] 进程号

功能描述:通过进程号杀死进程。

killall 进程名

功能描述:通过进程名杀死进程,也支持通配符。

选项说明
选项功能
-9表示强制进程立即停止
实践案例
  • (1)杀死浏览器进程
    kill -9 5102
    

通过使用 kill 命令,用户可以手动终止系统中不需要的进程。kill -9 选项特别强大,因为它会强制终止进程,即使进程处于僵死状态也不例外。这种能力在处理顽固的进程或清理资源占用过高的程序时非常有用。然而,由于其强大的破坏力,应谨慎使用 kill -9,以免误杀重要服务或导致系统不稳定。

crond 服务管理

  • systemctl restart crond:重新启动 crond 服务,以确保定时任务服务正常运行。crond 是 Linux 系统中负责管理定时任务的守护进程。

crontab 定时任务设置

  • 基本语法crontab [选项] 用于管理用户的定时任务。

选项说明

  • -e:编辑当前用户的 crontab 定时任务列表。执行该命令后会打开一个文本编辑器(通常是 vim)以编辑任务。
  • -l:列出当前用户的所有 crontab 定时任务。
  • -r:删除当前用户的所有 crontab 定时任务。

以下是关于 crond 服务和 crontab 命令的使用示例:

管理 crond 服务

重新启动 crond 服务
sudo systemctl restart crond

这条命令会重新启动 crond 服务,确保定时任务服务正常运行。

启动 crond 服务
sudo systemctl start crond

这条命令用于启动 crond 服务。

停止 crond 服务
sudo systemctl stop crond

停止 crond 服务,所有定时任务将暂停执行。

检查 crond 服务状态
sudo systemctl status crond

查看 crond 服务的当前运行状态。

使用 crontab 命令管理定时任务

查看当前用户的定时任务
crontab -l

显示当前用户的所有定时任务。

编辑当前用户的定时任务
crontab -e

打开当前用户的 crontab 编辑界面,通常使用 vim 编辑器。在该界面中可以添加或修改定时任务,格式如下:

* * * * * <command>

每个星号位置分别表示:分钟、小时、日、月、星期。比如:

  • 每天凌晨2点执行备份脚本:

    0 2 * * * /path/to/backup.sh
    
删除当前用户的所有定时任务
crontab -r

删除当前用户的所有定时任务,请小心使用,因为此操作不可撤销。

删除当前用户的特定任务

如果需要删除特定的任务,可以用 crontab -e 进入编辑界面,手动删除该任务的行,然后保存退出。

3. 设置系统定时任务的示例

每天凌晨 3 点清理临时文件
0 3 * * * rm -rf /tmp/*

这个任务会在每天凌晨 3 点清空 /tmp 目录中的文件。

每周日晚上 11 点备份数据库
0 23 * * 0 /path/to/backup_db.sh

每周日晚上 11 点运行 backup_db.sh 脚本备份数据库。


http://www.kler.cn/a/391959.html

相关文章:

  • WPF学习之路,控件的只读、是否可以、是否可见属性控制
  • 【C++】C++11特性(上)
  • Unity3D 包体裁剪与优化详解
  • 利用 Screen 保持 VSCode 连接远程任务持续运行
  • 三种单例实现
  • Kubernetes的基本构建块和最小可调度单元pod-0
  • 数学建模学习(136):使用Python基于Fuzzy WSM、Fuzzy WPM、Fuzzy WASPAS的多准则决策分析
  • Elasticsearch 和 Kibana 8.16:Kibana 获得上下文和 BBQ 速度并节省开支!
  • 使用Spring AI中的RAG技术,实现私有业务领域的大模型系统
  • SpringBoot自定义Starter指南
  • MyBatisPlus(Spring Boot版)的基本使用
  • gpu-V100显卡相关知识
  • 使用多种机器学习调参模型进行二分类建模的全流程,代做分析辅导
  • OceanStor Pacific系列 8.1.0 功能架构
  • 设计模式-七个基本原则之一-里氏替换原则
  • 初始JavaEE篇 —— 网络编程(2):了解套接字,从0到1实现回显服务器
  • 机器人操作臂逆运动学
  • kafka消费数据太慢了,给优化下
  • labview连接sql server数据库
  • MySQL远程连接错误解决:Host is not allowed to connect to this MySQL server
  • 【Rust中的链表实现】
  • 【大数据测试HBase数据库 — 详细教程(含实例与监控调优)】
  • AI编程工具市场是一个庞大且不断增长的市场
  • vue3 组件通信 --- useAttrs()
  • 计算机毕业设计Python+Neo4j中华古诗词可视化 古诗词智能问答系统 古诗词数据分析 古诗词情感分析 PyTorch Tensorflow LSTM
  • 测试实项中的偶必现难测bug--<pre>标签问题