sandy_1111 sandy_1111 - 5 months ago 11
Bash Question

suspend a shell command without pid

I need something like

$command & stop
This should execute a command and suspend it. The application later resumes back the command for complete results.

I understand that job can be suspended with stop signal to the corresponding pid.

$kill -SIGSTOP 12753


When we execute a command, we barely know its pid. There is extra command involved to take a pid and do the required. I want to avoid the extra command and a time interval.

Basically The application is for a measure of network performance. Trigger all the commands put them in halt mode. The halted commands are resumed back as per the kind of traffic needed.

Answer

The process ID of the most recently started background command is available in the shell parameter $!:

$ command & kill -SIGSTOP $!