Рестартирайте VS shutdown -r, Инсталиране, конфигуриране, поддръжка на сървъри
Каква е разликата между тях?
Изглежда, че на пръв поглед няма разлика: и двата отбора изпращат колата да се рестартира. Но как го правят е истинската разлика.
В тази статия ще прегледам поведението на системитеFreeBSD иSolaris.
FreeBSD
От пощенския списък наFreeBSD научих, че разликата е:
shutdown -r изчаква грациозното прекратяване на процеса толкова дълго, колкото е необходимо на процеса. Ако това е сървър с голяма база данни, този процес може да отнеме няколко минути или може би няколко десетки минути.
reboot просто изпращаsigterm и не изчаква процеса да излезе правилно (всъщност изчаква 30 секунди след изпращане на сигнала и ако услугата не е инвестирала, просто го убива).
И така: винаги използвайтеshutdown -r. НО! Ако вашият сървър увисне малко и трябва да го рестартирате и за предпочитане възможно най-скоро, тогава можете да използватеreboot.
Solaris
ВSolaris ще разгледам такива команди (взети от сайтаsunhelp.ru )
halt Командата се използва за незабавно стартиране на изключването на системата и се различава от shutdown по това, че не предупреждава потребителите за изключването. Записва кеширани данни на диск.
reboot Работи по-бързо отshutdown, защото не изпълнява скриптове за изключване или изпраща съобщения до потребителите; записва кеширани данни на диск, точно катоhalt.
Командиспиране, рестартиране, изключване - не изпълнявайте команди за прекратяване на SMF услуги. Вместо това те изпращат сигналSIGTERM до всички процеси. След 5 секунди чакане на всичкисигналътSIGKILL се изпраща към останалите процеси.
Тоест, вSolaris препоръчвам да използватеshutdown -i 6 за рестартиране.
Интересно, защото забелязах разликата в скоростта на изпълнение на FreeBSD, но не се замислих каква е разликата