Существует ли автоматический способ добавления групповых прав на чтение к "nohup.out" при запуске "nohup"?

Я запускаю свой Java-код из bash-скрипта, используя такую ​​команду:

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

Который создает выходной файл nohup.out и этот файл имеет такие разрешения:

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

Я хочу, чтобы у группы тоже было разрешение на чтение, а не только у пользователя, который выполнил команду.

Как мне это сделать?

3 ответа

Решение

Вы можете добавить изменение разрешений в вашей команде, используя оператор "и" (&&) как это:

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

Создать 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 файл.

Можете ли вы изменить разрешения обычным способом?

chmod g+r nohup.out
Другие вопросы по тегам