2

Я использую несколько команд bash, разделенных точкой с запятой:

% long-running-command-I-want ; another-command-I-dont

long-running-command-I-want все еще работает; естественно, еще нет pid another-command-I-dont . Я хотел бы упреждающе убить / отменить / предотвратить выполнение another-command-I-dont long-running-command-I-want не убивая давно работающую команду, которую я хочу, которую я ждал некоторое время. Могу ли я сделать это? Если так, то как?

1 ответ1

3

Если вы запустите другую оболочку, вы можете узнать PID bash котором запущена программа, которую вы хотите продолжить. Если это bashPID , то отправьте сигнал прерывания с помощью:

kill -2 bashPID

Это остановит выполнение остальной части командной строки.

При желании в исходной оболочке вы можете нажать Ctrl - z, чтобы временно приостановить работающую программу в фоновом режиме. Это будет продолжаться с остальной частью командной строки, которая будет очищена сигналом прерывания. Затем вы можете возобновить запущенную программу с помощью fg или bg , в зависимости от того, хотите ли вы продолжить ее на переднем или заднем плане.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .