Have you ever wished to peek inside a running command with Linux?
Well I did today, I had a Python project that should start on boot, and I wished to check it was running. So I ran a command to see if the process was running.
ps -ef | grep soil-uv.py
This command lists all the processes running and using the
| pipe to send it to
grep meant that I could search for the name of the file
The output of the command gave me this...
root 403 375 0 14:13 ? 00:00:00 /bin/sh -c /home/pi/soil-uv.py root 405 403 0 14:13 ? 00:00:06 /usr/bin/python3 /home/pi/soil-uv.py pi 995 788 0 14:36 pts/0 00:00:00 grep --color=auto soil-uv.py
So I can see that my Python project code is running and it has a process id of
But...I want to see what it is doing!
tail I can see the output from the code.
sudo tail -f /proc/405/fd/1
-f means "follow" the output of the process, and I then pass the parameter to follow process
405 and show the output in the terminal...and I got this!!
The soil value is 0.38 UV Index: 1.39 The soil value is 0.38 UV Index: 1.39 The soil value is 0.38 UV Index: 1.39 The soil value is 0.38 UV Index: 1.4 The soil value is 0.38 UV Index: 1.39
Which is the output of my code! Just what I wanted to do!