Précédent   Forum des professionnels en informatique > Systèmes > Linux > Distributions > Fedora / Red hat
Fedora / Red hat Vos questions sur les distributions Fedora / Red Hat
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 09/10/2009, 09h57   #1
Membre confirmé
 
Thomas Gambier
Inscription : avril 2005
Messages : 807
Détails du profil
Informations personnelles :
Nom : Thomas Gambier
Âge : 27
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : avril 2005
Messages : 807
Points : 243
Points : 243
Par défaut aide pour creer un service sous redhat

Bonjour,

Je souhaite créer un service pour un serveur de données...

Voici la commande à exécuter pour le lancer:

Citation:
cd /var/apache/Net-Z3950-SimpleServer-1.11
perl test.pl 194.250.193.1:210
Je souhaite créer le service, et un fichier pid dans /var/run
J'ai essayé en créeant le fichier suivant :
/etc/rc.d/init.d/serverz3950

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
#!/bin/sh
#
# Startup script for serverz3950
#
# chkconfig: ??????
# description: This script is used to start the z3950 \
# server as a background process.
# processname: serverz3950
#
## See how we were called.
case "$1" in
start)
 echo -n "Starting serverz3950 services: "
 cd /var/apache/Net-Z3950-SimpleServer-1.11
 perl test.pl 194.250.193.1:210
 ;;
stop)
 echo -n "Stopping serverz3950 services: "
 pkill serverz3950
 ;;
status)
 status serverz3950
 ;;
restart|reload)
 $0 stop
 $0 start
 ;;
condrestart)
 $0 status
 if [ $? -eq 0 ]; then
   $0 stop
   $0 start
 fi
 ;;
*)
 echo "Usage: serverz3950 {start|stop|status|restart}"
 exit 1
esac
exit 0
Tout d'abord qu'est ce que je dois mettre dans chkconfig? Tous les niveaux?
Je n'ai pas trop compris cette notion de niveau de démarrage...

Le serveur se lance bien si je fais:
Citation:
/sbin/service/ serverz3950 start
Mais il ne se stop pas...

C'est pour ca que j'aimerai faire un fichier .pid, mais je ne sais pas trop comment faire...
calitom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2009, 16h17   #2
Membre régulier
 
Avatar de laurentleturgez
 
Inscription : octobre 2009
Messages : 88
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : octobre 2009
Messages : 88
Points : 91
Points : 91
Bonjour,

La forme de la ligne chkconfig est la suivante :

Où, "345" sont les runlevels (niveau de démarrage) pour lesquels ton service démarrera.

Il démarrera donc au runlevels 3, 4 et 5 et s'arrétera durant les runlevel 0, 1, 2 et 6 (sous Linux).

Les chiffres suivants représentent la priorité de démarrage et d'arrêt.
Le premier est la priorité de démarrage. Si dans un relevel (par exemple 3), tu as 30 services qui démarrent et que, parmi ces 30 services, le service b est dépendant du service a, tu dois faire en sorte que le service a démarre avant le service b. Tu lui mettra donc une priorité de 5 et le service b une priorité de 6.

Le second est la priorité d'arrêt. C'est le même fonctionnement que celui cité précédemment mais pour l'arrêt.

Une fois que tu as positionné ces valeurs, la commande :
Code :
# chkconfig --add monService
va aller chercher le fichier /etc/init.d/monService, analyser son en-tête, et créer les liens symboliques dans les répertoires /etc/rc1.d, /etc/rc2.d ..
Les noms de ces liens symboliques auront la forme :

[S|K][Priorité][NomService].

S pour Start
K pour Kill

Ensuite tout cela démarra et s'arrétera selon la logique au démarrage et arrêt de la machine (selon le runlevel désiré).

Ensuite, si tu veux démarrer ou arréter le service manuellement, tu utilises les paramètres de ton service :

Code :
# /etc/init.d/monService start
Code :
# /etc/init.d/monService stop
N'hésites pas à mettre à jour si ce n'est pas très "clair" .

Laurent
laurentleturgez est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 02h48.


 
 
 
 
Partenaires

Hébergement Web