Re: [Linux-programlama] C ile reboot

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: M.Baris Demiray (baris@labristeknoloji.com)
Date: Fri 10 Jun 2005 - 04:24:48 EEST


Emre Turkay wrote:
> Merhaba,

Merhaba,

> Her ne kadar hos olmayan bir goruntusu olsa da ;) sanirim sistemi
> kapatmanin en guvenli yontemi /sbin/shutdown 'i haricen cagirmak. Aksi
> halde, calisan tum processleri saglikli bir sekilde durdurmak, mount
> edilmis dosya sistemlerini unmount etmek, vs gibi islerle ugrasmaniz
> gerekli.

Katılıyorum. reboot(2) diye bir sistem çağrısı ve `wrapper'ı var ancak
man sayfasında yazdığı gibi sync() yapmak yeterli olmuyor ve yine inode'lar
uçuyor. Belki de man sayfasında BUGS kısmında bahsettiği gibi tüm tampon
belleği yazmadan geri dönüyordur. Ya da uçanlar sadece çalışan süreçlerin
henüz yazmadıkları verilerdir. Ama shutdown'ın en güvenli yol olduğu
konusunda Emre Bey'e katılıyorum.

Denediğim kod ise aşağıdaki; (günlük kullandığınız makinede *denemeyin*)
Ancak bahsedilen diğer işlemleri yapmadan doğrudan elektrik kesintisi gibi
bir sonucu var (fsck).

#include <unistd.h>
#include <linux/reboot.h>
#include <sys/reboot.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>

int main(void)
{
         sync();

         if (reboot(LINUX_REBOOT_CMD_RESTART) < 0)
                 printf("%s\n", strerror(errno));

         return 0;
}

>
> Yok eger ben embedded bir sistem calistiriyorum, dolayisiyla guvenli bir
> sonlandirma icin gerekli tum islemleri biliyorum yada illa ki ugrasmak
> istiyorum diyorsaniz sysvinit kaynak kod paketinden (sysvinit-....tar.gz
> yada buna esdeger src-rpm paketleri) /sbin/shutdown'in nasil calistigini
> ogrenebilirsiniz. Anlasilamayacak kadar karmasik bir kod oldugunu
> sanmiyorum.
>
> Not: Bu paketi kullandiginiz dagitimin cd'lerine sahipseniz cd'lerinden
> bulabilir, yada dagitimin resmi web sayfasindan indirebilirsiniz. En
> kotu ihtimalle google'da ufak bir arastirma sizi gerekli pakete
> ulastiracaktir.
>
> Kolay gelsin,
>
> emre

-- 
"You have to understand, most of these people are not ready to be
unplugged. And many of them are no inert, so hopelessly dependent
on the system, that they will fight to protect it."
                                                         Morpheus

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.