Как я могу получить идентификатор процесса для запуска sbt?Как получить идентификатор процесса sbt?
Я попытался следующие, но он не дал мне ничего:
SBT="$(sbt -java-home /shared/shelley/khashab2/java/jdk1.8.0_31 'project core' run)"&
echo "$SBT"
Как я могу получить идентификатор процесса для запуска sbt?Как получить идентификатор процесса sbt?
Я попытался следующие, но он не дал мне ничего:
SBT="$(sbt -java-home /shared/shelley/khashab2/java/jdk1.8.0_31 'project core' run)"&
echo "$SBT"
Если вы используете Баш, вы можете попробовать $!
. Из documentation:
(! $) Раскрывается в идентификатор процесса работы совсем недавно помещенной в фоновом режиме, независимо от того, как выполняется асинхронной команды или с помощью Б.Г. встроенной команды (см работы управления Встроенные команды).
изменить сценарий, как это:
sbt -java-home /shared/shelley/khashab2/java/jdk1.8.0_31 'project core' run&
SBT=$!
хмм Я использую скрипт внутри 'screen'. Я думаю, что '$!' Вернет PID окна экрана. – Daniel
Нет, он вернет PID sbt. Вы можете проверить это с помощью 'bash -c 'echo $$; sleep 10s' &' вместо вашей команды sbt, переменная '$$' попросит sub-shell напечатать свой собственный PID (что будет PID sbt). –