Вот способ сделать это, это хак / обходной путь, но он работает довольно хорошо.Не стесняйтесь подстраивать его под свои нужды, ему, безусловно, нужны некоторые проверки при создании символической ссылки или использовании папки tmp, чтобы избежать возможных условий гонки (если они проблематичны в вашем случае).1004 * обертка
#!/bin/bash
script="./dummy"
newname="./killme"
rm -iv "$newname"
ln -s "$script" "$newname"
exec "$newname" "$@"
пустышка
#!/bin/bash
echo "I am $0"
echo "my params: $@"
ps aux | grep bash
echo "sleeping 10s... Kill me!"
sleep 10
Проверьте ее, используя:
chmod +x dummy wrapper
./wrapper some params
В другом терминале убейте его, используя:
killall killme
Примечания
Убедитесь, что вы можете писать в текущей папке (текущем рабочем каталоге).
Если ваша текущая команда:
/path/to/file -q --params somefile1 somefile2
Установите переменную script в оболочку до / path / to / file (вместо . / Dummy ) и вызовите wrapper следующим образом:
./wrapper -q --params somefile1 somefile2