Existe-t-il un moyen le plus rapide d'arrêter le système?

20

Ou est-ce shutdown -h nowle plus rapide possible?

Je recherche un syscall ou similaire qui permettra de sauter beaucoup de choses faites avant l'arrêt (en particulier pour se soucier des processus en cours d'exécution).

Au mieux, je voudrais une solution liée au noyau, étant ignorant du init-moyenware (comme systemdou upstart).

Les risques liés au fait de tuer directement tous les services comme cups / apache / pulseaudio etc ... Je m'en fous ...

remarque: la solution devrait être un logiciel-vice. Appuyer sur les boutons de l'appareil n'est pas ce que je recherche.

l'humanité et la paix
la source
8
"Les risques liés à la destruction directe de tous les services comme cups / apache / pulseaudio etc ... je m'en fous ..." -> Êtes-vous sûr? Laisser un logiciel complexe dans un état incohérent peut entraîner de mauvaises surprises lors de sa prochaine utilisation. Vous devriez peut-être envisager de désactiver les services que vous n'utilisez pas beaucoup (par exemple, cups, apache); vous pouvez toujours démarrer et arrêter ces choses manuellement lorsque vous souhaitez les utiliser.
goldilocks
La méthode que je recherche est pour le moment où je veux éviter que les gens aient accès à mon PC. Tout retard dans l'arrêt entraîne des erreurs. Je donne plutôt des données lâches, puis je les expose.
humanityANDpeace
2
Visitez également ce
Pandya
8
Il y a une idée. Commencez à économiser de l'argent pour un nouveau matériel.
John WH Smith
sudo shutdown -P 0 J'utilise cela et le processus d'arrêt démarre immédiatement, quelles que soient les applications ouvertes
gkmohit

Réponses:

30

Il n'est pas beaucoup plus rapide que d'utiliser la fonctionnalité de demande système (SysRq), puis de déclencher immédiatement reboot.

Il s'agit d'une combinaison de touches comprise par le noyau.

Activez SysRq:

echo 1 > /proc/sys/kernel/sysrq

Maintenant, envoyez-le au redémarrage.

echo b > /proc/sysrq-trigger

b - Redémarrez immédiatement le système, sans démonter ni synchroniser les systèmes de fichiers.

Remarque:

Bien que cela se produise, rebootil se comportera comme si l'alimentation était coupée, ce qui n'est pas recommandé.

Si vous le souhaitez syncet umountles systèmes de fichiers à l'avance, utilisez:

echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger

ou si vous voulez simplement éteindre le système, alors:

echo o > /proc/sysrq-trigger

Combinaisons de touches magiques

Il existe également des combinaisons de touches à utiliser qui sont interprétées par le noyau:

Alt+ SysRq / Print Screen+Command Key

Touches de commande:

R- Reprenez le contrôle du clavier à partir de X.
E- Envoyez SIGTERM à tous les processus, leur permettant de se terminer avec élégance.
I- Envoyez SIGKILL à tous les processus, les forçant à se terminer immédiatement.
S- Vider les données sur le disque.
U- Remontez tous les systèmes de fichiers en lecture seule.
B- Redémarrez.

Citation du Wiki Magic SysRq Key :

Une utilisation courante de la clé magique SysRq est d'effectuer un redémarrage en toute sécurité d'un ordinateur Linux qui s'est autrement verrouillé.

  1. Maintenez enfoncées les touches Altet SysRq(Impr écran).
  2. Tout en maintenant ces touches enfoncées, tapez les touches suivantes dans l'ordre, à quelques secondes d'intervalle: REISUB .
  3. L'ordinateur doit redémarrer.

Un moyen de se souvenir de ceux-ci sont:

" R eboot E ven I f S ystem U tterly B roken" ou simplement le mot " BUSIER " lu à l'envers.

Les références

Magic SysRq Key Wiki
Fedora SysRq

geedoubleya
la source
11
Il est important de noter qu'un système propre peut prendre encore moins de 2 secondes à s'arrêter. Lorsque j'appelle poweroffsur ma machine Arch, je ne peux même pas voir le journal d'arrêt imprimé à l'écran ...
John WH Smith
Avant le deuxième écho, vous voudrez exécuter sync( linux.about.com/library/cmd/blcmdl8_sync.htm ), ce qui garantirait que les tampons sont écrits sur le disque, y compris les superblocs.
Arcege
vous suggérez que l' bêtre n'est pas echod o. Est-ce mieux?
humanityANDpeace
Cela dépend de ce que vous entendez par mieux. Bien que l' boption soit très rapide, ce n'est pas syncle cas des disques, ce qui n'est pas idéal, il existe de nombreuses options qui permettent de réduire le temps d'arrêt, certaines plus extrêmes que d'autres. Il y a aussi une panicoption. Lisez le wiki et les essais et erreurs pour voir ce qui répond le mieux à vos besoins.
geedoubleya
Eh bien, sur mon système vissé, le echo o /proc/sysrq-trigger cela crée un blocage. Le système reste allumé. En effet, le bsystème a disparu. Pourtant, il redémarre, ce qui signifie que la RAM peut être conservée, ce qui est une vulnérabilité que j'aimerais l' boption avec le système éteint à la fin. Malheureusement, cela ne fonctionne pas avec l' ooption de mon système. Merci pour la suggestion à vous et aussi à @Pandya
humanityANDpeace
8

L'approche méchante est shutdown -h -n now.

Notez que cela ne fera aucun nettoyage, donc les systèmes de fichiers peuvent devenir incohérents, les bases de données se cassent, etc., mais cela arrête le système très rapidement.

Simon Richter
la source
1
merci, cela semble intéressant: cette -noption est-elle documentée et toujours dans la version actuelle de l'arrêt?
humanityANDpeace
1
Oui, c'est standard. Il dit directement au noyau de tout laisser tomber. Cette commande est normalement utilisée à partir du dernier script d'arrêt, lorsque l'arrêt normal est terminé.
Simon Richter
7
Mais je ne saurais trop insister sur le fait que cela causera très probablement de mauvais effets, car cela équivaut en grande partie à retirer la fiche.
Simon Richter
Merveilleusement simple et efficace. Cette option -n est exactement ce que je cherchais. Merci BEAUCOUP d'avoir répondu à la question telle que posée. Vous ne savez pas à quel point il est frustrant de poser une question et d'entendre les cerveaux vous dire pourquoi votre question est fausse au lieu de simplement y répondre. Je voterais cette réponse cinquante fois si je le pouvais. MERCI.
Joshua Pech
4

Certaines distributions offrent une poweroffcommande plus simple que shutdown.

L'utiliser avec:

poweroff -f

effectuera une synchronisation du disque puis s'éteindra. C'est un bon compromis entre être beaucoup plus rapide tout en effectuant l'arrêt minimal pour garantir que les systèmes de fichiers ne sont pas corrompus.

Vality
la source
0

Essayez d'utiliser la commande init:

init 0
Stuxnet78
la source