如何定位特定进程的 unix 套接字
How to locate the unix socket of a particular process
对于本地 MySQL 连接,我如何找到位置连接的 unix 套接字号?我不相信它在 ps
命令中:
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
_mysql 141 0.0 0.0 34786180 3284 ?? Ss 6Jan22 16:21.85 /usr/local/mysql/bin/mysqld...
有没有更简单的方法找到它?
这是查看打开给定文件的进程的示例:
$ lsof /tmp/mysql.sock
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 829 bkarwin 21u unix 0x1c2b10907d83adad 0t0 /tmp/mysql.sock
或者反其道而行之,列出进程 ID mysqld
:
所有打开的文件
$ lsof -p 829
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
...
mysqld 829 bkarwin 21u unix 0x1c2b10907d83adad 0t0 /tmp/mysql.sock
...
如果您不知道进程 ID,可以让 lsof 搜索其命令以给定字符串开头的进程:
$ lsof -c mysqld
(same output as for -p)
阅读 https://ss64.com/osx/lsof.html 了解更多用法。
对于本地 MySQL 连接,我如何找到位置连接的 unix 套接字号?我不相信它在 ps
命令中:
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
_mysql 141 0.0 0.0 34786180 3284 ?? Ss 6Jan22 16:21.85 /usr/local/mysql/bin/mysqld...
有没有更简单的方法找到它?
这是查看打开给定文件的进程的示例:
$ lsof /tmp/mysql.sock
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 829 bkarwin 21u unix 0x1c2b10907d83adad 0t0 /tmp/mysql.sock
或者反其道而行之,列出进程 ID mysqld
:
$ lsof -p 829
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
...
mysqld 829 bkarwin 21u unix 0x1c2b10907d83adad 0t0 /tmp/mysql.sock
...
如果您不知道进程 ID,可以让 lsof 搜索其命令以给定字符串开头的进程:
$ lsof -c mysqld
(same output as for -p)
阅读 https://ss64.com/osx/lsof.html 了解更多用法。