2

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

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

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

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

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

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

3 ответа3

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 .

1

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

chmod g+r nohup.out
1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .