如何知道进程退出时的返回码是什么以及该值通常记录在哪里?

如何知道进程退出时的返回码是什么以及该值通常记录在哪里?

如果一个进程运行并退出,它会返回一个非零状态(我个人更喜欢术语“返回代码”);甚至零状态我知道该值就在那里(主要是因为我已经完成了 C++ 编程,并且我知道您可以在方法结束时main()返回一个值...但也因为如果我运行类似以下内容:

fuser -s ./myfile.txt && echo "a process is accessing your file

我知道,echo如果从进程返回的状态值fuser0,则唯一打印,如果不是,echo则一起跳过,因为:

“如果没有访问任何指定的文件或发生致命错误,fuser 将返回非零返回代码。”

现在我该如何显示此返回代码以了解其值?因为如果您正在运行fuser-silent例如在脚本中,了解返回代码/状态的值似乎很重要,这样我才能分辨出未被访问的文件和实际致命错误之间的区别。

另外,手册页中是否有一个常见位置记录了进程的返回代码/状态,以便我可以了解该值可能意味着什么?或者是否有一个文档对返回代码应该是什么有标准?

答案1

您可以使用特殊参数访问最后执行的命令的返回代码$?。除了“0”表示成功、非零表示失败之外,没有任何记录在案的标准(至少没有被广泛采用的标准)。您必须检查manpage正在运行的特定命令。

相关内容