Russian Qt Forum

Qt => Общие вопросы => Тема начата: Flake от Ноябрь 23, 2007, 11:52



Название: Перезагрузка компьютера..
Отправлено: Flake от Ноябрь 23, 2007, 11:52
Здравствуйте.

Грубо говоря по нажатию на кнопку должен перегружаться компьютер.
Операционка openSUSE. Как такое реализовать? В виндах я пользовался win api. А вот как это осуществить в линуксе не знаю.

Спасибо.


Название: Re: Перезагрузка компьютера..
Отправлено: pastor от Ноябрь 23, 2007, 12:14
man shutdown
man reboot

Выбирем что ближе к телу :) и пробуем испольнить при помощи QProcess

Также можно попробывать перейти в 6 ранлевел - init 6


Название: Re: Перезагрузка компьютера..
Отправлено: Flake от Ноябрь 23, 2007, 13:24
А если не переключаться на ранлевел 6, то чем это может быть черевато?


Название: Re: Перезагрузка компьютера..
Отправлено: Steven_Orko от Ноябрь 23, 2007, 14:22
А если не переключаться на ранлевел 6, то чем это может быть черевато?
Ну хотя бы тем, что тебя опять отправят к манам.
Читаем/etc/initbab

Цитировать
#
# inittab       This file describes how the INIT process should set up
#               the system in a certain run-level.
#
# Author:       Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
#               Modified for RHS Linux by Marc Ewing and Donnie Barnes
#

# Default runlevel. The runlevels used by Linux are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)



В зависимости от уровня защиты, которая стоит у тебя в дистрибутиве, могут быть ситуации, когда на команды halt, shutdown r <timeout>, потребуются права root...