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。$1cat请注意,您不需要使用这两个命令,因为通常您的用户应该是进程sudo的所有者。cat