首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MSYS2:PID与windows 进程ID

MSYS2:PID与windows 进程ID

作者头像
10km
发布于 2019-07-31 14:32:47
发布于 2019-07-31 14:32:47
1.6K0
举报
文章被收录于专栏:10km的专栏10km的专栏

MSYS2下启动的进程ID分两种:MSYS2空间的PID和windows的PID 以mysql为例,在MSYS2窗口启动mysqld

代码语言:javascript
复制
$ mysqld --console

如下我们在windows CMD窗口用netstat查找3306端口的进程ID为2356

代码语言:javascript
复制
C:\>netstat -aon | findstr 0.0.0.0:3306
  TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING       2356

但在MSYS2下用ps找到的PID却是9744

代码语言:javascript
复制
$ ps -ef |grep mysqld
guyadong    9744    1184 pty1     17:28:04 /j/facelog-install/3rd/mysql-5.6.44-winx64/bin/mysqld

网上一通找,找到这篇文章,找到了解决办法 《Mingw-users PID question - Correlation between MSYS - WINDOWS》

MSYS2的ps有一个-W参数用于显示MSYS进程对应的windows PID,上面的ps命令加上-W,参数效果如下

代码语言:javascript
复制
$ ps -efW |grep mysqld
guyadong    9744    1184 pty1     17:28:04 /j/facelog-install/3rd/mysql-5.6.44-winx64/bin/mysqld
       0    2356       0 ?        17:28:04 D:\j\facelog-install\3rd\mysql-5.6.44-winx64\bin\mysqld.exe       

第二行的输出结果中PID即为9744这个MSYS2 进程对应的window PID

以下为MSYS2的ps输出的命令行帮助信息:

代码语言:javascript
复制
$ ps --help
Usage: ps [-aefls] [-u UID] [-p PID]

Report process status

 -a, --all       show processes of all users
 -e, --everyone  show processes of all users
 -f, --full      show process uids, ppids
 -h, --help      output usage information and exit
 -l, --long      show process uids, ppids, pgids, winpids
 -p, --process   show information for specified PID
 -s, --summary   show process summary
 -u, --user      list processes owned by UID
 -V, --version   output version information and exit
 -W, --windows   show windows as well as cygwin processes

With no options, ps outputs the long format by default
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年07月15日,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档