有没有一种方法可以在运行“nohup”时自动为“nohup.out”添加组读取权限?

有没有一种方法可以在运行“nohup”时自动为“nohup.out”添加组读取权限?

我使用如下命令从 bash 脚本运行 Java 代码:

exec nohup "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" com.myClass "$@" &

这将创建输出文件nohup.out,并且该文件具有如下权限:

-rw------- 1  24308657 Mar 24 12:52 nohup.out

我希望该组也具有读取权限,而不仅仅是运行该命令的用户。

我该怎么做呢?

答案1

您可以使用“and”运算符()在命令中添加权限更改,&&如下所示:

exec nohup "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" com.myClass "$@" && chmod g+r nohup.out &

答案2

创建nohup.out文件您运行nohup。如有必要,请在创建时为其赋予正确的权限。

touch nohup.out && nohup seq 1

nohup然后在实际运行之前使用你的默认权限创建文件:

-rw-r--r-- 1 rici rici 6 Mar 25 14:57 nohup.out

nohup然后将其输出附加到该nohup.out文件。

答案3

您可以以正常方式更改权限吗?

chmod g+r nohup.out

相关内容