Je souhaite faire un .sh afin de lancer mon programme en tache de fond et de l'arreter (sous SunOS).

Voici ce que j'ai réussi à faire jusqu'à présent :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
#!/bin/sh
#set -x		# pour debugger ce script
 
USAGE="Usage: `basename $0` {start|stop} [1-20]"
 
 
#2 arguments
if [ $# != 2 ]; then
	echo $USAGE
	exit 127
fi
 
PID=`ps -efo pid,args | grep "hosaflow" | grep -v grep  | awk '{print $1}' | tr '\n' ' '`
 
case $1 in
start)
	if [ $# = 2 ]; then
		echo "Demarrage du processus ${MODULE}"
		nohup hosaflow $2 2>> /users/sbulin/wmq/hosaduplic/temp/hosaflow.log &
	else
		echo $USAGE
		exit 127
	fi
	;;
 
stop)
	if [ "$PID" != "" ]; then
		echo "Arret du processus : $PID"
		echo $PID
#		kill -INT $PID
	else
		echo "Aucun processus"
	fi
	;;
*)
	echo $USAGE
	exit 127
	;;
esac
J'aimerai savoir pourquoi j'ai toujours deux valeurs dans ma variable PID : une qui correspond à mon processus hosaflow, et l'autre à rien...