Je sais que je ne suis pas forcément dans le bon forum, mais s'il existe, je ne l'ai pas trouvé...

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...