Возможный прервать завершение работы на Linux? [закрытый]

Если вы только увеличивали i внутри блока if, то, как только условие x[i] > max оценивается как false, i не будет увеличиваться. И поскольку мы используем i в качестве индекса для элемента массива, который нужно исследовать, значение x[i] никогда не изменится, и поэтому цикл будет продолжаться вечно.

И, для чего стоит, когда вы выполняете итерацию по массиву, цикл for лучше подходит, потому что он позволяет вам определять переменную итерации, условие и приращение - все в одном месте: [ 1111]

int[] x = new int[] { 5, 7, -100, 400, 8 };
int max = x[0];

for(int i = 1; i < x.Length; i++)
{
    if (x[i] > max) max = x[i];
}

Console.WriteLine("MAX = " + max);
41
задан chaos 15 April 2009 в 15:07
поделиться

4 ответа

Можно использовать  ps чтобы найти завершение работы обрабатывают и прервать его, например, с ps|grep shutdown.

Альтернативные и менее интенсивные глазным яблоком версии этого:

pkill shutdown
killall shutdown
kill `cat /var/run/shutdown.pid`
42
ответ дан chaos 27 November 2019 в 00:07
поделиться

shutdown -c "завершение работы отмены" на довольно недавнем shutdowns.

Синтаксис также поддерживает shutdown -c <message> в целях объявления, таким образом, это удобно, если другие люди используют машину.

93
ответ дан chaos 27 November 2019 в 00:07
поделиться

От shutdownстраница справочника в системах BSD:

Запланированное завершение работы может быть отменено путем уничтожения процесса завершения работы (SIGTERM должен быть достаточным).

8
ответ дан chaos 27 November 2019 в 00:07
поделиться

Если вы на секунду опаздываете на ничью shutdown -c , и уже root на консоли очень быстрый # init 5 отменит завершение работы после изменения уровня запуска init.

ПРИМЕЧАНИЕ. Этот ответ в настоящее время в основном устарел. init 5 не очень полезен для systemd, который, к сожалению, большинство систем сейчас используют.

11
ответ дан Joshua 27 November 2019 в 00:07
поделиться
Другие вопросы по тегам:

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