Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to debug why our integration tests are taking so long and it looks like they're hanging part way through.

I logged onto our test service and saw the following behaviour:

root@colossus:~# strace -p 18310
Process 18310 attached - interrupt to quit
futex(0x7f9915c609d0, FUTEX_WAIT, 18313, NULL^C <unfinished ...>
Process 18310 detached

root@colossus:~# strace -p 18313
Process 18313 attached - interrupt to quit
restart_syscall(<... resuming interrupted call ...>^C <unfinished ...>
Process 18313 detached

root@colossus:~# ps -ef | grep 18313
root     19089 19034  0 09:46 pts/0    00:00:00 grep --color=auto 18313

root@colossus:~# ps -p 18313

My interpretation of these commands is that 18310 is waiting for its child 18313 to complete.

Process 18313 is trying to restart an interrupted system call.

Here's where it gets weird. Although I can attach to 18313, I cannot see it in the list of current processes, when I run ps.

Can someone help me understand what is going on here, please?

share|improve this question
That's a thread. Use ps -L. See also strace -f to strace all the threads in that process (and future children) – Stéphane Chazelas Apr 23 '14 at 15:20
Please add that as an answer, so that I can accept it :) – Dancrumb Apr 23 '14 at 20:17

Per Stéphane's comment, what I'm seeing is a thread, not a process.

Threads are listed in the output from ps -L

One can strace all current and future threads of a process with strace -f

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.