Інший спосіб - використовувати pgrep $ pattern або pkill $ pattern; повертає всі PID, що відповідають заданому шаблону, переглядаючи всі запущені процеси на машині. Отже, щоб обмежити область застосування PID лише тими, якими ви володієте, використовуйте: pgrep -P $ mypid $ pattern або pkill -P $ mypid $ pattern
Отже, щоб запустити фоновий процес протягом встановленого проміжку часу, ваш сценарій виглядатиме приблизно так:
#!/bin/bash
mypid=$$
run_something &
sleep $time_in_seconds
pkill -P $mypid something
Майте на увазі, що це знищить усі процеси з тим самим іменем, що працює під поточним батьківським PID. Таким чином, ви можете використовувати це для запуску декількох процесів і вбивати їх усі одночасно через певний час.