私のRubyスクリプトでは、別のプロセスが既に実行されているときに同じスクリプトを再度実行しないでください。同じスクリプトの複数のプロセスを避けるためにrubyファイルを実行するロック
if $0 == __FILE__
if File.new(__FILE__).flock(File::LOCK_EX | File::LOCK_NB)
if RbConfig::CONFIG['host_os'].include? 'linux'
linux_main
elsif RbConfig::CONFIG['host_os'].include? 'mingw'
windows_main
elsif RbConfig::CONFIG['host_os'].include? 'solaris'
solaris_main
end
end
end
__END__
しかし、Windowsでは期待どおりに動作しません。私は1つのプロセスを開始しました。別のPowerShellセッションで別のプロセスを起動しても、実行するのではなく、実行中です。
提案はありません。