I've got a problem getting a real-time CPU usage of a single process (by its PID). I'd like to setup a watchdog for the CPU usage of a process because it's suddenly reaching 100% of the CPU usage sometimes.
What I have tried:
top -p $PID
, top -pid $PID
– seems like those two are not working on FreeBSD
ps h -p $PID -o %cpu
– works, but returned CPU usage percentage is always 0
.
The question is – how can I get a real time CPU usage for a single process by its PID on FreeBSD?
Best Answer
I don't have access to a BSD machine to check but your
ps
command should work as advertised. In any case, as a dirty hack, you could always just parse the output of the fullps
(whereNNN
is the PID you are after):Or, to keep the output format identical to that of
ps
:You may have to tweak the
ps
options a bit since they're different in BSD. Just use whichever combination prints all processes.