linux 进程-基础知识
1:查找进程id
pidof 命令
find the process ID of a running program.
$ pidof php-fpm
2847 2846 2845 2844 2843 2756
$ ps aux| grep "2847\|2846\|2845\|2844\|2843\|2756"
2: 查找当前shell的进程id和父进程id
分别对应 "echo $$" 和 "echo $PID"
$ echo $$
6363
$ echo $PPID
6362
3:pstree
查看进程树之间的关系
4:Ctrl+z
Ctrl+z表示中断当前进程并且将进程挂起
当进程别挂起后,此时进程状态将改变为T(stopped),
通过jobs命令可以查看到当前被挂起的进程。
在jobs命令中的进程,可以通过fb(前台运行)或者bg(后台运行)来重新唤起该进程
ps: 在vim等场景中经常通过Ctrl+z去挂起vim来执行其他程序
5:进程状态
- R (TASK_RUNNING) 包括正在运行或者准备运行(正在等待分配cpu单元)的进程
- S (TASK_INTERRUPTIBLE),可中断的睡眠状态,操作系统中大部分进程其实都是处于该状态
- D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态。不可中断指进程不响应异步信号。大多数情况下,进程处理睡眠状态都是可以响应异步信号的,否则,当使用kill -9杀进程的时候会发现不能kill掉进程
- T (TASK_STOPPED) stopped by job control signal 进程执行终止 (使用Ctrl+z中断进程后进程就会进入TASK_STOPPED 状态)
- t (TASK_STOPPED)状态 stopped by debugger during the tracing 一般是进程由于调试暂停
- Z (TASK_DEAD - EXIT_ZOMBIE) 正常情况下,父进程可以通过wait系列的系统(如wait4、waitid)回收子进程。当回收出现异常的情况,就会出现Z状态 (僵尸进程 孤儿进程)
- X (TASK_DEAD - EXIT_DEAD) 退出状态,进程即将被销毁
# 在ps命令中进程状态后面的附件含义
< 高优先级
N 低优先级
L 有些页被锁进内存
s 包含子进程
+ 前台进程有 没有进程没有
l 多线程,克隆线程
6: Ps命令(Process Status)
$ ps -aux
- USER 启动进程的用户
- PID 进程id
- %CPU 进程占用cpu百分比
- %MEM 进程占用内存百分比
- VSZ 虚拟内存使用量 kb
- RSS 实际内存使用量 kb
- TTY 终端设备
- STAT 进程状态
- START 进程被启动时间
- TIME 进程累计消耗cpu时间
- COMMAND 启动进程名称
$ ps -ef
- UID 同上USER
- PID 同上
- PPID 父进程id
- C 进程cpu利用率
- STIME 进程启动时间
- TTY 同上
- TIME 同上
- CMD 同上
推荐阅读
GO 实现优先队列
在php中提供了SplPriorityQueue来实现优先队列操作。在Go中,虽然没有直接提供优先队列的实现,不过通过标准库container/heap可以很方便的实现一个简单的优先队列。
tim_xiao阅读 599
使用kubeasz部署高可用kubernetes集群
本实验采用kubeasz作为kubernetes环境部署工具,它是一个基于二进制方式部署和利用ansible-playbook实现自动化来快速部署高可用kubernetes集群的工具,详细介绍请查看kubeasz官方。本实验用到的所有虚拟机默认软...
李朝阳赞 4阅读 789
麒麟操作系统 (kylinos) 从入门到精通 - 故障排查篇
OS平台:银河麒麟桌面操作系统(飞腾版)V10 SP1操作系统镜像:Kylin-Desktop-V10-SP1-General-Release-2203-ARM64
Oulaa赞 3阅读 1.6k
linux中用户登录加载配置文件的过程
shell的类型(站在用户登录登录的角度)登录式shell正常通过某终端登录su - USERNAMEsu -l USERNAME非登录式shellsu USERNAME图形终端下打开命令窗口自动执行的shell脚本用户登录时相关的bash配置文件全局配置文件/...
Dabric阅读 5.3k评论 3
在Linux上查看活跃线程数与连接数
现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常的重要,一旦不够用了,就会导致程序阻塞、性能低下,所以有时我们需要看看它们的使用情况,以判断这里是否是瓶颈。
扣钉日记赞 3阅读 1k
Ubuntu 20.04 搭建 Elasticsearch 7.x 小集群(qbit)
环境ES 节点硬件:3 台 AWS m5.4xlarge(16 vCPU/64GB 内存)Kibana 硬件:1 台 AWS m5.large(2 vCPU/8GB 内存)操作系统:Ubuntu 20.04 LTSElasticsearch 7.9.3Kibana 7.9.3机器示意图操作系统这里主要讲 EBS ...
qbit阅读 3.8k
9个超有用的 Linux Touch 命令实例讲解
touch 命令用于创建空文件,也用于更改 Linux 系统中现有文件的时间戳。这里更改时间戳意味着更新文件和目录的访问和修改时间。命令语法touch {options} {file}语法选项1) 创建一个空文件touch 命令创建一个空文...
鸠摩智首席音效师赞 1阅读 1.7k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。