2017-02-21 41 views
0

ребята. Я новичок в создании сценариев bash и развертывании. Идите на ubuntu. запуске программы Go, как этотBash скрипт для обновления проекта GO на Ubuntu 16.04

go build -o myprogram main.go 
./myprogram & 

Но теперь, вместо того, чтобы загружать файлы с SFTP и вручную изменить все, что я хотел написать простой скрипт Баш.

Проблема в том, что мне сначала нужно убить существующий процесс, и я не знаю, как получить PID и убить его.

Возможно, я могу запустить свою программу, используя что-то другое, поэтому мне не нужно находить PID.

Я пробовал использовать ps ax | Grep MyProgram, а затем убить его, но не повезло

+0

Вы хотите, чтобы убить процесс, который вы начали как './myprogram &'? – Inian

+0

@ Иниан, да, это один из решений –

ответ

1

bash имеют специальную переменную $!, которую можно использовать для хранения идентификатора процесса совсем недавно начали фонового процесс

./myprogram & 
myprogram_PID=$! 

kill "$myprogram_PID" 
+0

Спасибо, что я хотел –