Tum*_*d53 5 command-line windows-subsystem-for-linux
我在运行命令时犯了错误:
cat /dev/urandom
控制台(托管在 Windows 上)充满了垃圾并停止响应Ctrl-Z或其他任何内容。
有什么办法可以恢复控制台吗?
首先,我想强调+和+之间存在显着差异:ctrlzctrlc
有关信号的更多信息,您可以阅读man 7 signal
。
有时,仅仅关闭终端窗口并不是最好的解决方案,因为您将丢失对您来说可能很重要的最近历史记录。
通过打开另一个终端窗口(或真实 Linux 中的 TTY),您可以尝试cat
使用以下任一命令来终止该进程。
killall -s 9 cat
Run Code Online (Sandbox Code Playgroud)
该命令killall
按名称杀死进程,并将尝试杀死所有cat
进程。该选项-s 9
将发送 SIGKILL 而不是 SIGTERM ,它可以被解读为强制终止。大多数情况下就killall cat
足够了。
kill -9 $(ps -e | awk '/cat/ {print $1}')
Run Code Online (Sandbox Code Playgroud)
该命令kill
将向进程发送信号,并且通过选项-9
我们将像上面的命令一样发送 SIGKILL,但这里我们必须提供 PID(进程标识符)而不是名称。命令替换将提供系统上运行的$()
所有进程的列表。cat
这是山楂:
ps -e
将列出系统上所有正在运行的进程,|
作为命令的输入通过管道传输awk
,awk '/cat/ {print $1}'
第一个字段来过滤列表。第一个字段包含相关进程的 PID。$1
cat
请注意,您不需要使用这两个命令,因为通常您的用户应该是进程sudo
的所有者。cat