Let’s say I’ve spawned a distributed process, and this process has made a particular ccall
that, for whatever reason, refuses to die from a standard call to interrupt()
. e.g. the following fails:
using Distributed
addprocs(1)
f = @spawnat 2 begin
@ccall sleep(20::Int)::Int # Pretend this is an uninterruptible C call
end
println("Waiting...")
interrupt(2)
fetch(f)
I don’t control the C code, and I’m not 100% sure why it won’t interrupt. However, it can be killed (i.e. kill -9) works just fine.
My question: what’s a nice way to send a SIGKILL signal to the child process?