Можно ли из консоли Linux закрыть окно с VSC и корректно завершить этот процесс в системе?
Я продолжаю автоматизировать свое рабочее пространство :)
Как запустить в bash-скрипте VSC я уже понял - теперь хочу понять, можно ли как-то закрыть это окно командой в другом скрипте, и, корректно прибить процесс.
В общем, идея такая:
1. Один скрипт поднимает рабочую среду.
2. Другой скрипт do down ее же :)
Это возможно как-то сделать? Номер процесса я, разумеется, заранее не знаю.
Роми, с ключом -w, --wait утилита killall будет ожидать завершение процесса и только потом передаст управление скрипту, полезно в скриптах когда нужно обработать данные над которыми работал данный процесс; но здесь на сколько я понял вам нужно просто корректно завершить программу и выйти, если да то можно и не использовать данный ключ.
1. Один скрипт поднимает рабочую среду.
2. Другой скрипт do down ее же :)
это при желании можно сделать и одним скриптом просто задав разные ключи
$ myscript --start
$ myscript --stop
простой пример обработки ключей:
while [[ "$1" =~ ^- && ! "$1" == "--" ]]; do case $1 in
--start ) code &
exit
;;
--stop ) killall -w code
exit
;;
esac; shift; done
if [[ "$1" == '--' ]]; then shift; fi
так мы пошлем приложению SIGINT - т.е. типа Ctrl-C :) т.е. типа от меня самого.
да какая разница, оба сигнала(SIGINT и SIGTERM, SIGTERM используется по умолчанию killall ) делают по сути одно и тоже, только SIGINT еще как бы эмитирует нажатие комбинации клавиш для прерывания программы в консоли.
это при желании можно сделать и одним скриптом просто задав разные ключи
Это не мой случай - я эти скрипты мышью запускаю )) мне так удобнее и привычнее - я относительно недавно сделал Ubuntu своей рабочей системой - начинал-то я с Windows 95 )))))) т.е. у меня уже эти ярлыки - на уровне подкорки))
с ключом -w, --wait утилита killall будет ожидать завершение процесса и только потом передаст управление скрипту
имеется в виду, что если после killall -w идет еще какая-то команда - она не начнет выполняться, пока не завершится процесс? а если без ключа - оно просто пошлет сигнал SIGTERM и перейдет к следующей команде в bash-скрипте - я правильно понял?