我一直在 Linux 服务器上通过 Bash 脚本运行一个耗时的后台程序。在同一个 Bash 脚本中,我通过“set -o notify”设置通知,这样我就可以知道后台作业何时完成。
可能是昨天晚上弹出通知说后台作业已完成,之后出现以下错误消息,我不确定这些错误消息是在后台作业完成后立即发生的还是过了一段时间后发生的,因为我当时不在我的终端旁:
do_ypcall:clnt_call:RPC:无法接收;errno = 连接被拒绝
do_ypcall:clnt_call:RPC:无法接收;errno = 连接被拒绝
do_ypcall:clnt_call:RPC:无法接收;errno = 连接被拒绝
我还将后台作业的标准输出重定向到一个日志文件,这似乎表明程序没有按预期完成而是中途终止。
你能解释一下错误信息的含义吗?如果可能的话,我可能遇到了什么问题?是不是管理员对我在该服务器上可以使用的资源进行了限制?
感谢致敬!
更新:
同一块硬盘通过 NFS 安装在几台服务器上,包括上面提到的那台。我刚刚发现另一台服务器上也出现了类似但不同的错误:
do_ypcall:clnt_call:RPC:超时
此错误和上一个错误似乎不影响正在运行的程序。顺便说一句,我的程序有 IO 操作。
答案1
听起来你可能正在运行 NIS,但它失败了,根据我的经验,NIS 很正常 :-)。 如果仍然发生这种情况,也许可以尝试一下/etc/init.d/ypbind restart
? 也许这个框已绑定到 Active Directory,并且连接失败...
答案2
在一台机器上遇到了这个问题,/var 文件系统由于磁盘故障而处于离线状态 - ypbind 会重新启动,但无法更新它的“绑定”文件,因此触发了错误
重新启动/fsck 并解决文件系统问题后,问题得到解决。
/var 中的权限或文件系统问题可能与此有关?