Как приостановить фоновую оболочку с помощью скрипта?
К сожалению у меня нет suspend
команда (busybox/ash). Но я могу использовать kill -STOP $$
вернуться с фоновой оболочки (sh &
) к родительской оболочке (и fg
потом).
Но вместо того, чтобы вводить эту длинную команду kill, я хотел бы написать скрипт (с именем suspend), который должен сделать это:
#!/busybox sh
kill --STOP $$
Но это не сработало. Кажется, я открываю другую оболочку и одновременно приостанавливаю ее.
Итак, что такое правильный suspend-скрипт и как его назвать (exec
?)?
1 ответ
Подводя итог тому, что я написал в комментариях выше:
Самый простой способ получить простую команду для того, что вы пытаетесь сделать, это создать псевдоним в вашем ~/.profile
по данным этого сайта.
echo 'alias suspend=kill --STOP $$' >> ./~profile # Add alias to .profile
source ./~profile # Let ash update its list of aliases
Теперь вы можете использовать короткий suspend
команда.
Это может быть сложно сделать с помощью сценария, поскольку дочерний процесс не может легко (или вообще) изменить среду родительского процесса.