e 列出进程时,显示每个进程所使用的环境变量。
-l或l 采用详细的格式来显示进程状况。。
-p<进程识别码> 指定进程识别码,并列出该进程的状况。
p<进程识别码> 此参数的效果和指定"-p"参数相同,只在列表格式方面稍有差异。
r 只列出现行终端机正在执行中的进程。
-T 显示现行终端机下的所有进程。
-u<用户识别码> 此参数的效果和指定"-U"参数相同。
u 以用户为主的格式来显示进程状况。
-U<用户识别码> 列出属于该用户的进程的状况,也可使用用户名称来指定。
U<用户名称> 列出属于该用户的进程的状况。
x 显示所有进程,不以终端机来区分。
-<进程识别码> 此参数的效果和指定"p"参数相同。
–help 在线帮助。
举例
USER 用户名
UID 用户ID(User ID)
PID 进程ID(Process ID)
PPID 父进程的进程ID(Parent Process id)
SID 会话ID(Session id)
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小(Virtual Size)
RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
TTY 与进程关联的终端(tty)
STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
START 进程启动时间和日期
TIME 进程使用的总cpu时间
COMMAND 正在执行的命令行命令
NI 优先级(Nice)
PRI 进程优先级编号(Priority)
WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
FLAGS 与进程相关的数字标识
- 列出所有进程
方式一:
songyangji@SongyangJi-Ubuntu-DeskStop:~$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 101680 10384 ? Ss 19:09 0:01 /sbin/init splash
root 2 0.0 0.0 0 0 ? S 19:09 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 19:09 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 19:09 0:00 [rcu_par_gp]
…
方式二:
songyangji@SongyangJi-Ubuntu-DeskStop:~$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 3月11 ? 00:00:01 /sbin/init splash
root 2 0 0 3月11 ? 00:00:00 [kthreadd]
root 3 2 0 3月11 ? 00:00:00 [rcu_gp]
root 4 2 0 3月11 ? 00:00:00 [rcu_par_gp]
…
- 显示某个用户的进程
[root@itcast ~]# ps -u root
PID TTY TIME CMD
1 ? 00:01:48 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:21 ksoftirqd/0
5 ? 00:00:00 kworker/0:0H
- 显示进程名进程信息
[root@itcast ~]# ps -C bash
PID TTY TIME CMD
10565 pts/1 00:00:00 bash
11145 pts/1 00:00:00 bash
86546 pts/0 00:00:00 bash
[root@itcast ~]#
- 通过进程号显示进程详细信息
songyangji@SongyangJi-Ubuntu-DeskStop:~$ ps -p 51172
PID TTY TIME CMD
51172 pts/0 00:00:00 bash
- 指定显示字段
[root@itcast ~]# ps -e -o pid,uname,pcpu,pmem,comm
PID USER %CPU %MEM COMMAND
1 root 0.0 0.1 systemd
2 root 0.0 0.0 kthreadd
3 root 0.0 0.0 ksoftirqd/0
5 root 0.0 0.0 kworker/0:0H
7 root 0.0 0.0 migration/0
- 查找特定进程信息 ( 管道
|
+grep
)
[root@itcast ~]# ps -ef | grep ssh
root 1183 1 0 8月08 ? 00:00:00 /usr/sbin/sshd -D
deng 2286 2111 0 8月08 ? 00:00:01 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c “env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic”
root 10561 1183 0 21:24 ? 00:00:00 sshd: deng [priv]
deng 10563 10561 0 21:24 ? 00:00:00 sshd: deng@pts/1
root 16403 11145 0 22:18 pts/1 00:00:00 grep --color=auto ssh
[root@itcast ~]#
这个命令和ps差不多,只不过是以树状图的形式显示出来。
Linux系统中pstree命令的英文全称是“process tree”,即将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root)。
如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。
- 使用
pstree 参数
-a 显示每个程序的完整指令,包含路径,参数或是常驻服务的标示。
-c 不使用精简标示法。
-G 使用VT100终端机的列绘图字符。
-h 列出树状图时,特别标明执行的程序。
-H<程序识别码> 此参数的效果和指定"-h"参数类似,但特别标明指定的程序。
-l 采用长列格式显示树状图。
-n 用程序识别码排序。预设是以程序名称来排序。
-p 显示程序识别码。
-u 显示用户名称。
-U 使用UTF-8列绘图字符。
-V 显示版本信息。
- 以树状图显示进程
songyangji@SongyangJi-Ubuntu-DeskStop:~$ pstree
systemd─┬─ModemManager───2*[{ModemManager}]
├─NetworkManager───2*[{NetworkManager}]
├─accounts-daemon───2*[{accounts-daemon}]
├─avahi-daemon───avahi-daemon
├─colord───2*[{colord}]
├─cron
├─cups-browsed───2*[{cups-browsed}]
├─cupsd
├─dbus-daemon
├─gdm3─┬─gdm-session-wor─┬─gdm-x-session─┬─Xorg───9*[{Xorg}]
│ │ │ ├─gnome-session-b─┬─ssh-agent
│ │ │ │ └─2*[{gnome-session-b}]
│ │ │ └─2*[{gdm-x-session}]
│ │ └─2*[{gdm-session-wor}]
│ └─2*[{gdm3}]
- 显示当前所有进程的进程号和进程id
[root@itcast ~]# pstree -p
systemd(1)─┬─ModemManager(676)─┬─{ModemManager}(716)
│ └─{ModemManager}(719)
├─NetworkManager(680)─┬─dhclient(9982)
│ ├─{NetworkManager}(745)
│ └─{NetworkManager}(749)
├─VGAuthService(681)
├─abrt-watch-log(671)
├─abrt-watch-log(672)
├─abrtd(632)
- 显示指定进程号树状信息
[root@itcast ~]# pstree 10565
bash───su───bash───pstree
[root@itcast ~]#
kill命令用来删除执行中的程序或工作。
- 列出所有信号名称
[deng@itcast ~]$ kill -l
-
SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
-
SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
-
SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
-
SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
-
SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
独家面经总结,超级精彩
本人面试腾讯,阿里,百度等企业总结下来的面试经历,都是真实的,分享给大家!
Java面试准备
准确的说这里又分为两部分:
- Java刷题
- 算法刷题
Java刷题:此份文档详细记录了千道面试题与详解;
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
业总结下来的面试经历,都是真实的,分享给大家!
[外链图片转存中…(img-uD9UIkfg-1712169277599)]
[外链图片转存中…(img-J7pzARtk-1712169277599)]
[外链图片转存中…(img-XFLntVDX-1712169277599)]
[外链图片转存中…(img-m1L9xjfP-1712169277600)]
Java面试准备
准确的说这里又分为两部分:
- Java刷题
- 算法刷题
Java刷题:此份文档详细记录了千道面试题与详解;
[外链图片转存中…(img-Zosf7gHz-1712169277600)]
[外链图片转存中…(img-9KJUm9th-1712169277600)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!