草庐IT

Python OSError : [Errno 2]

coder 2023-05-22 原文

我有以下代码试图在 Linux 中启动下面的每个“命令”。如果两个命令中的任何一个因任何原因崩溃,该模块会尝试保持每个命令都运行。

#!/usr/bin/env python
import subprocess

commands = [ ["screen -dmS RealmD top"], ["screen -DmS RealmD top -d 5"] ]
programs = [ subprocess.Popen(c) for c in commands ]
while True:
    for i in range(len(programs)):
        if programs[i].returncode is None:
            continue # still running
        else:
            # restart this one
            programs[i]= subprocess.Popen(commands[i])
        time.sleep(1.0)

执行代码时会抛出以下异常:

Traceback (most recent call last):
  File "./marp.py", line 82, in <module>
    programs = [ subprocess.Popen(c) for c in commands ]
  File "/usr/lib/python2.6/subprocess.py", line 595, in __init__
    errread, errwrite)
  File "/usr/lib/python2.6/subprocess.py", line 1092, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

我想我遗漏了一些明显的东西,有人能看出上面的代码有什么问题吗?

最佳答案

使用 ["screen", "-dmS", "RealmD", "top"]而不是 ["screen -dmS RealmD top"] .

也可以使用 screen 的完整路径.

关于Python OSError : [Errno 2],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/901982/

有关Python OSError : [Errno 2]的更多相关文章

  1. ruby-on-rails - Ruby on Rails 从 'Errno::ENOENT' 中解救出来 - 2

    我需要从RubyonRails3.0.4应用程序中的“Errno::ENOENT”中解救出来。我目前有包含以下代码的Controller:begin`lame#{parameters}`rescueErrno::ENOENTlogger.info"command'lame'notfound:ensureLAMEisinstalled"end然而,从未调用日志代码,但日志显示:script/rails:Nosuchfileordirectory-lame...如果我用相同的片段创建一个ruby​​脚本,异常就会被挽救。 最佳答案 在R

  2. ruby - Sass: errno::enoent: 没有那个文件或目录 - 2

    我知道这是一个非常平淡的错误,但我在Sass3.4.2中遇到了一个常规的“找不到文件”错误:/*Errno::ENOENT:Nosuchfileordirectory-dumdum.scssBacktrace:/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/plugin/compiler.rb:482:in`read'/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/plugin/compiler.rb:482:in`update_stylesheet'/Library/Ruby/

  3. ruby-on-rails - Errno::ENOENT - 没有这样的文件或目录@rb_sysopen - 2

    我正在尝试使用ruby​​onrails中的actionmailer发送电子邮件附件,但我一直收到此错误。问题似乎是它无法在我指定的目录中找到文件,但文件路径是有效的。我还在控制台中使用File.exist?检查了这一点,并确认提供的路径计算结果为真。这是我的邮件:classOrderMailer我还按照ActionMailer文档的建议安装了邮件gem来处理编码。任何帮助将不胜感激,-布莱恩 最佳答案 Rails.root返回一个Pathname对象。Pathname#+(string)将File.joinstring到路径ifi

  4. ruby-on-rails - 为什么我在 Rails 中得到 "Errno::ECONNREFUSED"和 'net/http'? - 2

    我正在尝试从URL解析XML文件。当我尝试这样的事情时:require'net/http'require'rubygems'require'xmlsimple'url='http://my-address.com/xmltest/note.xml'xml_data=Net::HTTP.get_response(URI.parse(url)).body一切正常,但仅当我在Rails项目之外执行此操作时。如果我尝试将此文件包含在我的Rails3项目中并在那里解析它,我会收到错误消息"Errno::ECONNREFUSEDin[controller]"-Connectionrefused-c

  5. ruby-on-rails - Errno::EACCES:权限被拒绝@dir_s_mkdir - 2

    我是Ruby的新手..正在按照TeamTreehouse上的说明在OSX(Yosemite)上安装Ruby开发环境。当我到达创建测试应用程序的步骤时。它最终失败了。权限被拒绝。:(不确定我做错了什么,我确实尝试运行geminstalldebuginspector和bundleexecspringbinstubball但它们都失败了。[]railsnewtestappcreatecreateREADME.rdoccreateRakefilecreateconfig.rucreate.gitignorecreateGemfilecreateappcreateapp/assets/javas

  6. ruby-on-rails - Ruby omniauth-oauth2 - A Errno::ENETUNREACH - 网络无法访问 - 连接(2) - 2

    当用户尝试使用facebook登录时,我的Rails应用程序有时(大约2周后)在回调方法期间崩溃。这是随机发生的,我找不到解决这个问题的方法。下面是错误和一段堆栈跟踪:Errno::ENETUNREACH发生在#:网络无法访问-connect(2)REQUEST_METHOD:获取REQUEST_PATH:/auth/facebook/callbackREQUEST_URI:/auth/facebook/callback?code=AQDoUnHaO4ShfZUtCw6TVHAd_oOWUQ7Lar-OunhlFHoWhpTmiliY8hWTEb0CmufEMABpUggIlAe15j

  7. ruby - SSL_connect returned=1 errno=0 state=SSLv3 read server hello A: 版本号错误 (OpenSSL::SSL::SSLError) - 2

    当我运行https.ssl_version=:TLSv1_2我得到了错误ruby/2.1.0/net/http.rb:920:in`connect':SSL_connectreturned=1errno=0state=SSLv3readserverhelloA:wrongversionnumber(OpenSSL::SSL::SSLError)当我更改为https.ssl_version=:SSLv3ruby/2.1.0/net/http.rb:920:in`connect':SSL_connectSYSCALLreturned=5errno=0state=SSLv3readserve

  8. ruby-on-rails - 无法分配请求的地址 - bind(2) (Errno::EADDRNOTAVAIL) - 2

    我在centos6.3服务器上使用railforteambox,实际上这只是在实际应用之前的试错。我正在使用2个运行在相同centos版本和精确副本上的虚拟机,VM2只运行远离VM1的mysql我试过mysql连接#nc并且它已连接VM1(192.168.7.201)&VM2(192.168.7.202运行MYSQL)我在my.cnf中的远程机器(VM2)上有bind-address,bind-address=192.168.7.202这是我的database.ymldevelopment:adapter:mysqlhost:192.168.7.202port:3306username

  9. ruby-on-rails - SSL_connect SYSCALL returned=5 errno=0 state=SSLv2/v3 读取服务器 hello A - Faraday::Error::ConnectionFailed - 2

    我在这里看到了很多答案,但没有一个有效。我正在使用omniauth-oauth2gem与第三方客户集成。我正在使用描述的设置阶段here但我总是收到这个错误:Authenticationfailure!failed_to_connect:Faraday::Error::ConnectionFailed,SSL_connectSYSCALLreturned=5errno=0state=SSLv2/v3readserverhelloAFaraday::Error::ConnectionFailed(SSL_connectSYSCALLreturned=5errno=0state=SSLv2

  10. Ruby - 打开 ("file_path") - Errno::ENOENT: 没有那个文件或目录 - 2

    尝试打开文件时,我不断收到此Nosuchfileordirectory错误。我在做:file=open("http://farm7.static.flickr.com/6064/6090089285_242ca0e342_m.jpg")根据ruby-doc并不断收到这样的错误。我做错了什么? 最佳答案 你必须require'open-uri'不需要'open-uri',我在我的irb中得到了这个确切的错误消息:Errno::ENOENT:Nosuchfileordirectory 关于R

随机推荐