![如何在 Windows 系统上的 Ubuntu 机器上执行进程处理例程](https://linux22.com/image/1154871/%E5%A6%82%E4%BD%95%E5%9C%A8%20Windows%20%E7%B3%BB%E7%BB%9F%E4%B8%8A%E7%9A%84%20Ubuntu%20%E6%9C%BA%E5%99%A8%E4%B8%8A%E6%89%A7%E8%A1%8C%E8%BF%9B%E7%A8%8B%E5%A4%84%E7%90%86%E4%BE%8B%E7%A8%8B.png)
在我的 Windows 10 计算机上,我安装了 Ubuntu 系统(作为受信任的 Microsoft Store 应用程序)。当我打开该窗口并输入时help
,我看到的第一行是:
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
其结果uname -a
如下:
Linux DOMINIQUEDS 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 x86_64 x86_64 x86_64 GNU/Linux
在那个 Ubuntu 窗口中,我有很多有趣的 Linux/UNIX 功能,例如find
,,grep
...,但现在我想做一些进程处理(ps -ef
,kill -9
),但这似乎不起作用:
打开 Windows 任务管理器时,我看到±100 个进程正在运行。
当我运行时ps -ef
(即使以管理员身份打开了 Ubuntu 窗口),我只看到三个进程:
DominiqueDS@DOMINIQUEDS:~$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 17:14 ? 00:00:00 /init
Dominiq+ 2 1 0 17:14 tty1 00:00:00 -bash
Dominiq+ 18 2 0 17:19 tty1 00:00:00 ps -ef
有人知道如何在我的 Windows-10 机器上创建ps -ef
和运行这个 Ubuntu 窗口吗?kill -9
提前致谢
答案1
你不能。Windows 10 中的 WSL Bash 在一种沙箱中运行,无法访问 Windows 进程。
答案2
从维基百科:
proc 文件系统提供了一种内核空间和用户空间之间通信的方法。例如,GNU 版本的进程报告实用程序
ps
使用 proc 文件系统来获取其数据,而无需使用任何专门的系统调用。
该ps
命令允许您控制 Linux 内核。在 Windows 10 WSL(版本 1)上,没有 Linux 内核可供该ps
命令控制。只有 Windows 10 内核。
在未来的 WSL 版本中情况可能会发生变化,但目前,您可以享受了解所有 GNU 实用程序(例如grep
,sed
如果您安装了 Ubuntu 桌面,甚至可以了解 GUI 应用程序):