Думаю, в зависимости от того, что выдает результат jobs -p
, решение может немного отличаться. В моем случае
$ jobs -p
[1] - 96029 running some job
[2] + 96111 running some other job
Следовательно, делать следующее нехорошо.
$ jobs -p | xargs kill
kill: illegal process id: [1]
С другой стороны, выполнение kill $(jobs -p)
действительно работает, но влечет за собой множество сообщений об ошибках, поскольку строки PID, отличные от -, также передаются в kill
.
Следовательно, мое решение состоит в том, чтобы сначала grep
использовать PID, а затем использовать xargs
следующим образом:
$ jobs -p | grep -o -E '\s\d+\s' | xargs kill
$ LD_PRELOAD=/path/libjpeg.so.62 application