noreply at rubyforge.org
2008-Sep-05 21:37 UTC
[Win32utils-devel] [ win32utils-Bugs-21838 ] cannot kill the forked process from main process
Bugs item #21838, was opened at 2008-09-05 17:37
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=411&aid=21838&group_id=85
Category: win32-process
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: Nobody (None)
Assigned to: Nobody (None)
Summary: cannot kill the forked process from main process
Initial Comment:
Hi there,
I have the problem to kill the forked process. The test code is listed below:
require ''rubygems''
require ''win32/process.rb''
begin
pid = Process.fork do
2.times do
sleep 10
puts "output from process #{Process.pid}"
end
end
puts ARGV.inspect
if !(ARGV.last =~ /child/)
puts "start parent process"
sleep 11
Process.kill(''INT'', [pid])
1.times do
puts "output from parent process"
sleep 10
end
end
rescue Exception => err
puts "%s, %s"% [ err.inspect, err.backtrace]
end
when I run this test code, I always get the exception. Here is the test log:
C:\myworkspace\SSMSProject\Source\ruby>ruby Noname3.rb
start parent process
output from process 5680
#<TypeError: can''t convert Array into Integer>, (eval):3:in
`call''(eval):3:in `O
penProcess''C:/ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.3/lib/win32/process.
rb:143:in
`kill''C:/ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.3/lib/win32/pro
cess.rb:132:in
`each''C:/ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.3/lib/win3
2/process.rb:132:in `kill''Noname3.rb:19
C:\myworkspace\SSMSProject\Source\ruby>output from process 5680
start parent process
#<TypeError: can''t convert Array into Integer>, (eval):3:in
`call''(eval):3:in `O
penProcess''C:/ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.3/lib/win32/process.
rb:143:in
`kill''C:/ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.3/lib/win32/pro
cess.rb:132:in
`each''C:/ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.3/lib/win3
2/process.rb:132:in
`kill''C:/myworkspace/SSMSProject/Source/ruby/Noname3.rb:19
C:\myworkspace\SSMSProject\Source\ruby>ruby Noname3.rb
[]
start parent process
output from process 532
#<TypeError: can''t convert Array into Integer>, (eval):3:in
`call''(eval):3:in `O
penProcess''C:/ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.3/lib/win32/process.
rb:143:in
`kill''C:/ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.3/lib/win32/pro
cess.rb:132:in
`each''C:/ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.3/lib/win3
2/process.rb:132:in `kill''Noname3.rb:20
C:\myworkspace\SSMSProject\Source\ruby>output from process 532
["child#0"]
Do I miss something to make Process.kill work? Any help would be much
appreciated. Thanks in advance!
Qi
----------------------------------------------------------------------
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=411&aid=21838&group_id=85