Завершите работу моей системы за 30 минут с помощью telinit

Вот один из способов сделать это:

while read line
do
    my_array=("${my_array[@]}" $line)
done

echo ${my_array[@]}

Если вы просто запустите его, он будет продолжать чтение со стандартного ввода, пока не нажмете Ctrl + D (EOF). После этого строки, которые вы ввели, будут находиться в my_array. Некоторые могут найти этот код запутанным. Тело цикла в основном говорит my_array = my_array + element.

Некоторые интересные фрагменты документации:

В расширенном руководстве по созданию сценариев Bash есть отличная глава о массивах. Манипуляция прочитанных встроенных примеров массивов из массива thegeekstuff.com
1
задан 26 November 2014 в 02:22

2 ответа

# telinit 0
Уровень запуска 0 - режим остановки. Указание init на ввод уровня запуска 0 приведет к отключению всех процессов, отключению файловых систем и остановке машины. Это вполне приемлемый способ сбить систему. На многих ноутбуках и современных настольных компьютерах это также приведет к отключению машины. Источник

Дополнительно в случае, если кто-то задается вопросом о перезагрузке:

# telinit 6

Уровень запуска 0 является остановленным. Указание init на ввод уровня запуска 0 приведет к отключению всех процессов, отключению файловых систем и остановке машины. Это вполне приемлемый способ сбить систему. На многих ноутбуках и современных настольных компьютерах это также приведет к отключению машины. Источник

Уровень выполнения 6 - это режим перезагрузки. Все процессы будут уничтожены, файловые системы будут отключены, и машина будет перезагружена. Это вполне приемлемый способ перезагрузки системы. Источник

# at now+30 minutes <<<'telinit 0'

Чтобы выполнить что-то в будущем, у нас есть команда «at». Это будет:

# sleep 1800 && telinit 0

или сон:

5
ответ дан 24 May 2018 в 01:34
  • 1
    Это вторая дуэль , которую я выиграл сегодня. : P Вы можете использовать man-страницу telinit в качестве источника. В нем перечислены действия 0 и 6. – muru 26 November 2014 в 01:50

Как предложение, не обращаясь непосредственно к вашему вопросу. Даже команда at не установлена ​​по умолчанию, а sleep с telinit - отличный chioce: если вы хотите попробовать другой инструмент, отличный от telinit, вы можете попробовать перезагрузить его с помощью:

echo reboot | at now +30 m
-1
ответ дан 24 May 2018 в 01:34
  • 1
    Это не относится к вопросу, поскольку он просит особенно использовать telinit. Кроме того, команда at не установлена ​​по умолчанию. он может использовать команду sleep вместо – Mostafa Ahangarha 21 April 2017 в 15:00

Другие вопросы по тегам:

Похожие вопросы: