Самое простое решение - временно приостановить работу программы, пока вы не закончите проверку временных файлов. Тем не менее, обратите внимание, что программа может впоследствии не возобновить работу корректно, поэтому, если она открывает какие-либо важные пользовательские файлы, обязательно сделайте резервные копии этих файлов заранее, чтобы избежать повреждения.
Предположим, ваша программа называется prog
. Чтобы приостановить программу, запустите kill -TSTP $(pidof prog)
во время ее работы. После того, как вы закончите, возобновите его с помощью kill -CONT $(pidof prog)
.
Поскольку вы уже знаете местоположение (и, возможно, имя временных файлов), вы можете сделать это более точно, «защитив» его с помощью цикла while, например, так:
while [ ! -f /path/to/temp_file ]; do echo -ne 'Waiting for file...\r'; done ; kill -TSTP $(pidof prog)
Цикл , while
будет продолжать работать до тех пор , временный файл не существует , и только тогда будет kill
выполняться , чтобы послать сигнал TSTP
Теперь, когда цикл все еще работает, запустите вашу программу и, если необходимо, скопируйте временные файлы, затем возобновите процесс, чтобы завершить его и завершить без ошибок.