命令在终端上 运行 时在 python 子进程中正常工作,但在 crontab 中执行时失败
command works right in python subprocess when run on terminal but failed when execute in crontab
我正在尝试每天从 crontab 启动一个守夜人测试。
当我在 macOS 终端上启动我的 python 脚本时一切正常,但是一旦我通过调用我的 python 脚本启动 cron 作业。发生以下错误:
"env: node: No such file or directory"
我试过设置
下面是我尝试从 python 子进程 运行 执行的命令:
cmd_run =["/usr/local/bin/yarn test /Users/mytest/path/ --tag dbg"]
child_env = os.environ.copy() // inherit shell env setting ?
with open(full_log, 'w') as fd:
process=subprocess.Popen(cmd_run, stdout=fd, stderr=fd, shell=True, env=child_env)
我需要 运行 的实际命令是:
E2E_BASEHOST=https://<myhost> E2E_ENV=bk E2E_TESTS_DIRECTORY=./bk/tests **node** node_modules/nightwatch/bin/runner.js -c ./node_modules/@bk/e2e-testing-configuration/src/nightwatch.conf.js
--group affiliates/bookings2/tests/src/app/ --tag bsb --retries 2
我猜是因为子进程找不到“节点”
我 运行 我终端上的“哪个节点”
可以在这里找到:
/usr/local/bin/node
那么我在这里缺少的东西是什么?
您可以将其放入您的 crontab 中:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
我正在尝试每天从 crontab 启动一个守夜人测试。 当我在 macOS 终端上启动我的 python 脚本时一切正常,但是一旦我通过调用我的 python 脚本启动 cron 作业。发生以下错误:
"env: node: No such file or directory"
我试过设置 下面是我尝试从 python 子进程 运行 执行的命令:
cmd_run =["/usr/local/bin/yarn test /Users/mytest/path/ --tag dbg"]
child_env = os.environ.copy() // inherit shell env setting ?
with open(full_log, 'w') as fd:
process=subprocess.Popen(cmd_run, stdout=fd, stderr=fd, shell=True, env=child_env)
我需要 运行 的实际命令是:
E2E_BASEHOST=https://<myhost> E2E_ENV=bk E2E_TESTS_DIRECTORY=./bk/tests **node** node_modules/nightwatch/bin/runner.js -c ./node_modules/@bk/e2e-testing-configuration/src/nightwatch.conf.js
--group affiliates/bookings2/tests/src/app/ --tag bsb --retries 2
我猜是因为子进程找不到“节点” 我 运行 我终端上的“哪个节点” 可以在这里找到:
/usr/local/bin/node
那么我在这里缺少的东西是什么?
您可以将其放入您的 crontab 中:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin