Switch για ακύρωση reboot/shutdown όταν τρέχει προκαθορισμένο process

George Notaras gnot at g-loaded.eu
Wed Nov 26 21:35:14 EET 2008


George Notaras wrote:
> Αυτό που ζητάω είναι:
> 
> 1) Όταν στο PC ξεκινάει ένα συγκεκριμένο process A (πχ ένα backup job
> μέσω cron), να δημιουργείται ένα αρχείο, πχ /var/lock/tonpoulo.lock.
> Εύκολο, με τη χρήση ενός loader script για το process A, το οποίο θα
> δημιουργεί το αρχείο.
> 
> 2) Με βασική προϋπόθεση να _μην_ πειράξουμε κάποιο core αρχείο του
> λειτουργικού, πώς θα γίνει το σύστημα, όταν εκτελούνται εντολές όπως
> shutdown/reboot, να ελέγχει την ύπαρξη του αρχείου
> /var/lock/tonpoulo.lock και σε περίπτωση ύπαρξής του να μην εκτελεί τη
> διαδικασία shutdown;
> 
> Υπάρχει κάποιος μηχανισμός που να δίνει αυτή τη δυνατότητα; Κι αν δεν
> γίνεται σε επίπεδο initscripts, τα διάφορα γνωστά desktops (kde, gnome,
> xfce) έχουν κάποιο τέτοιο μηχανισμό που να μπορεί κανείς να προσθέσει
> ελέγχους σαν τον παραπάνω;
> 

Καταρχήν να ευχαριστήσω όλους για τη βοήθεια.

Έχω ανεβάσει το delayed-shutdown-1.0.tar.gz εδω:

http://www.codetrax.org/downloads/projects/delayed-shutdown/

Εκεί θα ανέβουν και τα νεότερα versions, αν υπάρξουν.


Ακολουθεί αντιγραφή από το readme:
======================================
Manual Installation:

As user 'root' follow the instructions to install the file in your
initscripts directory:

  cp delayed-shutdown /etc/init.d/
  chmod +x /etc/init.d/delayed-shutdown

For RedHat and relatives run:

  chkconfig --add delayed-shutdown

For Debian and relatives run:

  update-rc.d delayed-shutdown defaults


Manual De-installation:

If for any reason you need to remove 'delayed-shutdown' from your system
do the following:

For RedHat and relatives run:

  chkconfig --del delayed-shutdown

For Debian and relatives run:

  update-rc.d -f delayed-shutdown remove

Delete the initscript:

  rm /etc/init.d/delayed-shutdown


Usage:

In order to delay the shutdown process until your software finishes its
operation, you should create the no-shutdown lock file:

         /var/lock/noshutdown.lock

Then let your software do its job and, when finished, delete the
no-shutdown lock file. In case of a script that would be:

     lockfile /var/lock/noshutdown.lock
     ... [script is working] ...
     rm -f /var/lock/noshutdown.lock

===================================

Για το update-rc.d διάβασα το man page online, οπότε αν κάτι είναι
λάθος, παρακαλώ ενημερώστε.

Για τεστ περιλαμβάνεται το test.sh

Αφού εγκατασταθεί το initscript, τρέξτε το test.sh:

  ./test.sh &

Και κάντε πχ επανεκκίνηση. Λογικά θα πρέπει να περιμένει να τελειώσει το
test.sh, το οποίο κρατάει το lock '/var/lock/noshutdown.lock' και στη
συνέχεια να προχωρήσει στο reboot.

Οποιαδήποτε διόρθωση, υπόδειξη κτλ είναι περισσότερο από ευπρόσδεκτη.




More information about the Linux-greek-users mailing list