Unable to kill processes using either Ctrl-C or 'kill'

James E Keenan jkeenan at pobox.com
Sun Jun 3 17:20:15 UTC 2018


On a FreeBSD-11 host, I am unable to kill processes using either Ctrl-C 
or 'kill'.

1. The problem first became manifest when I was attempting to use 
Vagrant to download a Vagrant box from vagrantup.com.   The box in 
question was a VirtualBox called 'generic/freebsd11'.  I have 
successfully downloaded, installed and used this box several times 
already, so I anticipated no problems.

#####
$ vagrant init generic/freebsd11
$ vagrant up --provision | tee vagrant-up-provision.log.20180603100900
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'generic/freebsd11' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Fixed port collision for 22 => 2222. Now on port 2202.
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
     default: Adapter 1: nat
==> default: Forwarding ports...
     default: 22 (guest) => 2202 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
     default: SSH address: 127.0.0.1:2202
     default: SSH username: vagrant
     default: SSH auth method: private key
#####

Based on recent experience, I would have expected the "few minutes" to 
be 1 or 2 minutes at most and possibly be accompanied by "retrying" methods.

However, at this point, the screen hung indefinitely.  I tried Ctrl-C; 
that command was printed in my terminal but otherwise nothing happened.

2. I ssh-ed to the host in a fresh terminal and called

#####
tail -f vagrant-up-provision.log.20180603100900
#####

That command displayed the output posted above and hung at the same 
point.  This process also could not be killed by Ctrl-C.

3. I then ssh-ed to the host in a third terminal, called 'ps aux', and 
then tried to kill suspect processes with 'kill -9 <pid>'.  Those 
processes were not, in fact, killed; their status was changed to 'T' -- 
"Marks a stopped process" according to 'man ps'.  Some excerpts from 'ps 
auxwww':

#####
vmuser   7169   0.0  0.1   81356    4444  0  T+   14:09        0:01.99 
/usr/local/bin/ruby24 /usr/local/bin/vagrant up --provision
...
jkeenan 67787   0.0  0.0    6296       0  1  WW+  -            0:00.00 
tail -f 
/home/vmuser/vagrant-images/generic-freebsd11-201806030939/vagrant-up-provision.log.20180603100900
...
jkeenan 74119   0.0  0.0    7064       0  2  WW+  -            0:00.00 
/bin/sh /usr/bin/man ps
#####

4. I have now opened quite a few connections to the host.  If I issue a 
command there such as 'man ps' or 'less' that entails paging, I can page 
through the output, but the process does not close by itself and does 
not respond to Ctrl-C.  If I then try to kill that process from another 
terminal, the best that happens is that its status gets changed to 'WW+' 
-- "Marks an idle interrupt thread" and "The process is swapped out".

Internet searches turn up links like this one, 
https://forums.freebsd.org/threads/cant-kill-process-in-the-stop-state.56319/, 
that suggest that there are certain processes that do not respond to 
'kill' signals.  That seems to be what's happening here.

Can anyone suggest the cause of the problem?

Short of requesting that the sysadmin shut down and reboot the system, 
is there anyway for a non-root user to solve this problem?

Thank you very much.
Jim Keenan


More information about the freebsd-questions mailing list