Unable to kill processes using either Ctrl-C or 'kill'
James E Keenan
jkeenan at pobox.com
Sun Jun 3 19:48:01 UTC 2018
On 06/03/2018 03:03 PM, Michael Schuster wrote:
> On Sun, Jun 3, 2018 at 8:47 PM, Duane Whitty <duane at nofroth.com> wrote:
>
>> On Sun, Jun 3, 2018 at 1:20 PM, James E Keenan <jkeenan at pobox.com> wrote:
>>
>>> 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
>>> _______________________________________________
>>> freebsd-questions at freebsd.org mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-questions
>>> To unsubscribe, send any mail to "freebsd-questions-unsubscribe
>>> @freebsd.org"
>>>
>>
>>
>> Can you get added to sudoers? I realize that still implies a level of root
>> access but I really don't know of any other way to kill processes which
>> don't belong to you. I don't see why the sysadmin would need to reboot.
>>
>
> most likely, being root or equivalent won't help in this case. If a
> processes owner cannot kill it (using -9, which cannot be caught) that
> implies that the process is hung in the kernel (signal delivery happens
> when a process leaves kernel context).
>
Indeed. If I say 'sudo kill -9 <one-of-the-vagrant-pids>', I am
prompted for my password, enter it, hit Return ... and then nothing
happens and I am stuck with another hung terminal.
More information about the freebsd-questions
mailing list