Can one pick up a running application from terminal?
Sometime I need to run an application from terminal for debugging. If I am sure the bug will occur short after launching the application, I can run this application from the Terminal.
However, bugs occur unexpectedly, and then only I need to monitor the buggy application from the Terminal (to see its output).
Can I then pick up an application from terminal, which was not launched using Terminal? If so how?
Each process in linux has a special directory /proc/{pid}/fd/
. 0 is stdin, 1 is stdout and 2 is stderr. So, assuming you are only interested in diagnostic output you can determine the process pid, and then in the terminal do:
to see stdout:
cat /proc/{pid of process}/fd/1
to see stderr:
cat /proc/{pid of process}/fd/2
Or you can use strace
like this
sudo strace -p $pid_of_the_process