Уничтожить скрипт автоматического удаления файла

Уничтожить скрипт автоматического удаления файла

Извините, новичок, которого стоит критиковать.

Я хотел сгенерировать скрипт для входа во все каталоги в 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

Связанный контент