查看进程命令

博客介绍了使用ps命令查看进程信息的方法,包括使用“ps -aux”查看全部进程,以及用“ps -ef | grep resin”查看特定进程的详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看全部

ps -aux

 

查看详细

ps -ef | grep resin

<think>我们正在讨论如何在操作系统中查看正在运行进程及其启动命令。 根据引用[2]和引用[3],我们可以使用`ps`命令查看进程信息,其中包括进程的启动命令。 在Linux中,常用的命令是: 1. `ps aux`:以BSD格式显示进程信息,其中`COMMAND`列就是启动命令(可能包含参数)。 2. `ps -ef`:以标准格式显示进程信息,其中`CMD`列就是启动命令。 但是,有时候启动命令很长,在终端中显示不全,我们可以使用`ps`命令的特定格式来显示完整的命令。 具体方法如下: 方法1:使用`ps aux`命令 ``` ps aux ``` 在输出中,查看`COMMAND`列。 方法2:使用`ps -ef`命令 ``` ps -ef ``` 在输出中,查看`CMD`列。 方法3:为了确保显示完整的命令(因为有时会被截断),可以使用`-ww`选项(表示宽输出,不限制宽度): ``` ps auxww ``` 或者 ``` ps -efww ``` 方法4:如果只想查看某个特定进程的启动命令,可以结合`grep`使用,例如查看nginx进程的启动命令: ``` ps aux | grep nginx ``` 或者 ``` ps -ef | grep nginx ``` 方法5:使用`pgrep`结合`ps`(更精确地获取某个进程命令行): ``` ps -p <PID> -o args ``` 其中`<PID>`是进程ID,`-o args`表示只输出命令行(即启动命令)。 示例:假设我们想查看进程ID为1234的进程的完整启动命令: ``` ps -p 1234 -o args ``` 另外,还可以使用`/proc`文件系统: ``` cat /proc/<PID>/cmdline ``` 但是注意,`cmdline`文件中的命令参数是以空字符('\0')分隔的,所以直接`cat`可能会连在一起。可以用`tr`命令转换: ``` cat /proc/<PID>/cmdline | tr '\0' ' ' ``` 总结:最常用的就是`ps aux`和`ps -ef`,如果需要完整显示,则加上`ww`选项。 根据用户的问题,我们只需要查看正在运行进程及其启动命令,所以推荐使用`ps aux`或`ps -ef`。 注意:在麒麟操作系统(或其他Linux发行版)中,这些命令都是通用的。 因此,回答如下:</think>### 在操作系统中查看进程启动命令的方法 在Linux系统(包括麒麟Kylin)中,可以通过以下命令查看正在运行进程及其启动命令: #### 方法1:使用 `ps` 命令(推荐) ```bash ps auxww ``` 或 ```bash ps -efww ``` **参数说明**: - `-ww`:强制宽输出模式,确保完整显示命令行(避免截断)[^2][^3] - 输出列说明: - `USER`:进程所有者 - `PID`:进程ID - `%CPU`:CPU占用率 - `COMMAND`:完整的启动命令及参数 **示例输出**: ``` USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 225708 9420 ? Ss Jan01 0:23 /usr/lib/systemd/systemd --switched-root --system --deserialize 18 mysql 1234 0.5 2.1 1863224 170216 ? Sl Jan02 15:20 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid ``` #### 方法2:通过 `/proc` 文件系统查看 ```bash cat /proc/<PID>/cmdline | tr '\0' ' ' ``` **操作步骤**: 1. 先获取进程PID: ```bash pgrep -f <进程名> ``` 2. 查看完整命令: ```bash cat /proc/1234/cmdline | tr '\0' ' ' # 将空字符替换为空格 ``` #### 方法3:使用 `pgrep` + `ps` 组合 ```bash ps -p $(pgrep -d, -f <进程关键字>) -o pid,user,cmd ``` **示例**(查看所有包含"nginx"的进程): ```bash ps -p $(pgrep -d, -f nginx) -o pid,user,cmd ``` #### 方法4:使用 `systemctl` 查看服务进程(仅限systemd服务) ```bash systemctl show <服务名> --property=ExecStart ``` **示例**: ```bash systemctl show nginx --property=ExecStart ``` ### 关键参数说明 1. **`ps aux` vs `ps -ef`**: - `aux`:BSD格式,显示`COMMAND`列(包含完整命令行)[^3] - `-ef`:标准UNIX格式,`CMD`列可能截断长命令 - **最佳实践**:始终使用`ps auxww`保证完整输出 2. **进程状态标识**(STAT列): - `S`:可中断睡眠状态 - `D`:不可中断睡眠(通常出现在IO操作中)[^4] - `Z`:僵尸进程 - `T`:暂停状态 > **注意**:对于容器化进程(如Docker),需进入容器命名空间查看原始命令: > `nsenter -t <PID> -m -u -i -n -p ps aux`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值