[linux] запустить процесс перед выключением компьютера
А какая разница — перед выключением или сразу после загрузки?
man shutdown
man su
---
"Аллах не ведёт людей неверных."
man su
---
"Аллах не ведёт людей неверных."
от имени какого пользователя?
каким образом выключается комп?
каким образом выключается комп?
в идеале я хотел бы, чтобы эта команда выполнялась именно перед выключением и независимо от того, каким способом выключается комп
(ну, не жёстким способом, конечно
). При этом, например, если пользователь vasya захочет, чтобы у него выполнялась такая команда, а компьютер выключает пользователь petya без ведома пользователя vasya, то у Васи эта команда всё равно выполнилась.
Я могу навскидку придумать несколько "кривых" способов сделать это, но хочется понять, есть ли грамотное решение...
(ну, не жёстким способом, конечно
). При этом, например, если пользователь vasya захочет, чтобы у него выполнялась такая команда, а компьютер выключает пользователь petya без ведома пользователя vasya, то у Васи эта команда всё равно выполнилась.Я могу навскидку придумать несколько "кривых" способов сделать это, но хочется понять, есть ли грамотное решение...
mv shutdown shutdown.orig
cat [тут файл с твоим скриптом, в конце которого стоит вызов нормального shutdown.orig] > shutdown

cat [тут файл с твоим скриптом, в конце которого стоит вызов нормального shutdown.orig] > shutdown

Да, это один из "кривых" способов, о которых я писал. А более изящные решения есть? 

ну разве что вставить ссылку на скрипт в /etc/rc6.d ?
А если у пользователя нет прав рута, то он может это как-то сделать?
Может.
Если ему всё-таки придёт в голову прочитать man bash или man csh.
---
"Аллах не ведёт людей неверных."
Если ему всё-таки придёт в голову прочитать man bash или man csh.
---
"Аллах не ведёт людей неверных."
Блин
алиас пропиши
алиас пропиши
система какая?
во Фре, почитай man rc, секцию man.shutdown
в других - попробуй man init, может будет ссылка на что-нить нужное
во Фре, почитай man rc, секцию man.shutdown
в других - попробуй man init, может будет ссылка на что-нить нужное
> система какая?
>> [linux]
Только не очень понятно, какой системы.
---
"Аллах не ведёт людей неверных."
>> [linux]
Только не очень понятно, какой системы.
---
"Аллах не ведёт людей неверных."
Для нестандартного poweroff:
для редхато-подобных говнолинуксов нужно сделать скрипт /sbin/halt.local
Подробности в /etc/init.d/halt
для остальных говнолинуксов нужно искать их стандартные средства, либо редактировать скрипты в /etc/rc6.d/
Для выполнения пользовательских действий перед reboot необходимо написать свой сервис.
Например /etc/init.d/user-script-manager, /etc/rc6.d/KxxRun-User-Script-Manager -> /etc/init.d/user-script-manager.
/etc/init.d/user-script-manager будет обрабатывать пользовательские задания из пользовательских файлов, лежащих в /var/user-script-manager/* (или где-то еще)
Эти файлы будут создавать сами пользователи.
Скорее всего что-то подобное уже кто-то сделал. Ищи в инете.
для редхато-подобных говнолинуксов нужно сделать скрипт /sbin/halt.local
Подробности в /etc/init.d/halt
для остальных говнолинуксов нужно искать их стандартные средства, либо редактировать скрипты в /etc/rc6.d/
Для выполнения пользовательских действий перед reboot необходимо написать свой сервис.
Например /etc/init.d/user-script-manager, /etc/rc6.d/KxxRun-User-Script-Manager -> /etc/init.d/user-script-manager.
/etc/init.d/user-script-manager будет обрабатывать пользовательские задания из пользовательских файлов, лежащих в /var/user-script-manager/* (или где-то еще)
Эти файлы будут создавать сами пользователи.
Скорее всего что-то подобное уже кто-то сделал. Ищи в инете.
O! Гениальные идеи всегда очень простые!
Спасибо!
А всё-таки: например, если пользователь выключает комп, нажимая на кнопку в x-менеджере, то как это сделать?
Спасибо!А всё-таки: например, если пользователь выключает комп, нажимая на кнопку в x-менеджере, то как это сделать?
Оставить комментарий
Jackill
Я хочу сделать так, чтобы перед выключением компьютера от имени пользователя выполнялась определённая команда(хотя бы такая: find ~/ -name "*~" -exec rm -f {} \; ).
Как это сделать грамотным способом? Например, кронтабу можно написать
@reboot bla-bla-bla - будет выполняться при загрузке, но ничего подобного перед выключением машины я не нашел...