我是 Linux 的所有内容的初学者,所以请慢慢来。
我创建了一个在后台运行的“脚本”:
while true; do echo "I'm alive" >> alive.log ; done &
脚本的输出保存在用户主目录中的 alive.log 文件中。 问题是我不知道如何终止循环,因为它填满了我的磁盘空间,如果我想删除文件,那么循环将创建一个新文件并按照我的要求用文本“我还活着”填充它它去做。
我尝试使用:
ps - aux | grep while
或
ps - aux | grep alive
这两行的输出会给我我需要的 PID 但问题是脚本是一个循环,这意味着 PID 每次运行时都会改变(递归)所以我不能使用 PID 来杀死过程。
我也试过使用:
pkill while
killall while
两行的结果都是 0(使用 pkill while -c "0"或 killall while : "while: no process found"时可以看到输出;
有什么建议吗?
最佳答案
这是@James Brown 在评论中的回答。
键入 fg
将其置于前台并使用 ctrl-c
将其杀死是解决此问题的最快方法。
关于linux - 在没有 PID 的情况下终止在后台运行的 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45440237/