Существует ли более компактная форма убийства фоновых заданий, чем:
for i in {1..5}; do kill %$i; done
Кроме того, {1..5}, очевидно, содержит жестко закодированное магическое число, как я могу сделать его "N", где N - это правильное число, без выполнения:
$(jobs | wc -l)
Я фактически использую \ j в PS1, чтобы получить количество управляемых заданий, это эквивалентно?
for pid in $(jobs -p); do kill $pid; done
?
jobs
которое работает только в том случае, если задания последовательно нумеруются. Да, и «убивать задания по отдельности» не имеет смысла: передача нескольких PID kill
команде делает то же самое, что и передача их по отдельности.
kill $(jobs -p)
кажется проще.