linux nohup错误没有这样的文件或目录

js81xvg6  于 2023-10-16  发布在  Linux
关注(0)|答案(3)|浏览(350)

我正在尝试运行一串nohup命令来获取服务器统计信息。但是,我得到一个错误“没有这样的文件或目录”*。请注意,3个nohup调用嵌入在通过cron作业执行的脚本中。第一个nohup工作,但其他2个返回错误。具有讽刺意味的是,当在不同的服务器上运行时,该脚本工作正常。

  • 命令
nohup vmpstat -a -n 60 1000 > myvmstats
  • (works)
nohup mpstat -P ALL 1 1000 > mympstats
  • (返回:nohup无法运行mpstat命令:没有这样的文件或目录)
nohup iostat -t -x 60 1000 >myiostats
  • (返回:nohup无法运行iostat命令:没有这样的文件或目录)

知道出什么事了吗

2mbi3lxu

2mbi3lxu1#

我认为你应该给予你程序的相对/绝对路径
举例来说:
nohup ./****.sh > /home/user/test.txt

wz8daaqr

wz8daaqr2#

从命令行运行而不是由cron运行的脚本的常见问题是“环境”。有许多关于SO的问题,其中有这方面的例子,包括:

出于调试目的,向cron-run脚本添加一个命令/行,它执行以下操作:

env > /tmp/cron.job

检查PATH是否包含您所期望的内容,特别是它是否包含安装三个程序中的每一个的目录。并检查您是否从命令行运行了预期的程序:

which vmpstat mpstat iostat

这是一个合理的猜测,即当您的脚本由cron运行时,这两个“缺失”命令不在PATH上的目录中。而cron为您提供了一个裸露的最小环境;在这方面它完全不同于at
另请参阅:

  • Crontab和测试要执行的命令
  • 如何添加在所有cron作业之前运行的pre-hook和post-hook脚本?
5m1hhzi4

5m1hhzi43#

我在尝试编写python脚本时遇到了这个。
如果有人遇到这种情况,如果jeremyxu(10年前)的上述答案不能解决你的问题,Linux还需要python文件夹的完整路径。
1.获取完整路径
其中-Python3

  1. sudo访问python
    sudo nohup /usr/local/bin/python3.10 script.py

相关问题