Page 1 sur 1

Daemons

Publié : mar. 31/mars/2009 18:21
par Anonyme
J'y connais pas encore grand chose , mais voici ce que j'ai fait , ca tourne :


le script du daemon dans /etc/init.d
#! /bin/sh -e
#### BEGIN INIT INFO
# Provides: MyEmptyDaemon
# Default-Start: 2 3 4 5
# Default-Stop: S 0 1 6
# Short-Description: MyEmptyDaemon
# Description: Debian init script for the MyEmptyDaemon deferred executions
### END INIT INFO
#
# Author: Cpl.Bator
#
set -e

PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/sbin/MyEmptyDaemon

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

case "$1" in
start)
log_daemon_msg "Starting empty deamon" "MyEmptyDaemon"
start_daemon $DAEMON
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping empty deamon" "MyEmptyDaemon"
killproc $DAEMON
log_end_msg $?
;;
force-reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/MyEmptyDaemon {start|stop|restart|force-reload}"
exit 1
;;
esac

exit 0
( j'ai repris atd , que j'ai modifier bien évidement )

le code purebasic , à compilé et à plaçer dans usr/sbin sous le nom de MyEmptyDaemon

Code : Tout sélectionner

; CREATION DE DAEMONS SOUS LINUX
; CODE ORIGINAL :
;http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html
; Traduction par Cpl.Bator.

#EXIT_SUCCESS=0
#EXIT_FAILURE=1

#STDIN_FILENO  =  0
#STDOUT_FILENO =  1
#STDERR_FILENO =  2

Macro pid_t
i
EndMacro


Define.pid_t pid,sid

pid = fork_()
If pid<0
 exit_(#EXIT_FAILURE)
ElseIf pid>0
  exit_(#EXIT_SUCCESS)	
EndIf 


umask_(0)


sid = setsid_()

If sid<0
	exit_(#EXIT_FAILURE)
EndIf 


If chdir_("/") < 0
	exit_(#EXIT_FAILURE)
EndIf 

 close_(#STDIN_FILENO)
 close_(#STDOUT_FILENO)
 close_(#STDERR_FILENO)




; CODE DU DAEMON !
While(#True)


If Flag = 0
Flag = 1
MessageRequester("Daemon started!","Daemon started!")
EndIf 


Delay(30)
Wend 

exit_(#EXIT_SUCCESS)

Publié : mar. 31/mars/2009 19:07
par Progi1984
Tiens, en surfant sur le forum anglais, j'ai trouvé ca :
http://www.purebasic.fr/english/viewtopic.php?t=26485

Et un code complètement en C :
http://peterlombardo.wikidot.com/linux-daemon-in-c