![终止自动删除文件脚本](https://linux22.com/image/1615428/%E7%BB%88%E6%AD%A2%E8%87%AA%E5%8A%A8%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%E8%84%9A%E6%9C%AC.png)
有点儿像新手一样,抱歉。
我想生成一个脚本,进入 current_directory 下名称中带有“bifn*0.2e”的所有目录,然后每分钟自动删除名称中带有“acc”的文件。这些文件由另一个进程不断生成。这就是我所拥有的,它似乎有效。
#!/bin/bash
while true
do
find /current_directory/bifn*0.2e* -name '*acc*' -mmin +1 -delete
sleep 60
done
但是,在我运行脚本 ./auto_remove 后,我按了 Ctrl+Z 并bg
让它在后台运行。我希望这个脚本在我退出终端后继续删除文件。这部分也有效。但现在我无法终止它正在做的事情,也没有看到脚本正在运行的证据(除了 acc 文件正在被删除!)。我试过输入,ps fjx
或者jobs.
我也试过重新运行脚本,并将 find 行注释掉。
所以,请帮我停止它正在做的事情!而且,为了将来的使用,我怎样才能更优雅地做我想做的事情,同时能够在需要时终止它?
答案1
好吧,我发现了终止的问题。我必须登录到正在执行该脚本的特定节点,然后执行 kill。我仍然不确定将来如何避免这种情况。
答案2
脚本的一半是不必要的。删除所有时间检查。只需将其设置为检查名称并删除。然后在每分钟的 crontab 中设置它。如果您出于某种原因想要停止它,只需通过注释执行行来停止 cron 并重新启动 cron