프로그램을 실행하는 셀프로그램에서....

kangcha의 이미지

2개의 포트인자 값을 받고 실행하는 프로그램인데 ...
/sbin/run

1)첫째 start()부분을 아래와 같은 상태에서 실행하면 데몬에서 [OK] 까지 올라오는데 프로그램이 실행이 안되네요

Quote:

start() {
echo -n $"Starting Run: "
daemon rund start $SERVER_PORTNUM $CLIENT_PORTNUM
echo
touch /var/lock/subsys/run
}

2)둘째 start()부분을 아래와 같이 하고 실행하면

Quote:

start() {
echo -n $"Starting Run: "
daemon rund $SERVER_PORTNUM $CLIENT_PORTNUM
echo
touch /var/lock/subsys/run


./rund start
./assetd: [: missing `]'
Starting Run: 

OK라든가 이런 메시지가 없이 쭉 이상태에서 멈춰버립니다.
물론 실행프로그램은 올라간 상태이구요.
고수님의 조언을 부탁드립니다.

#!/bin/sh
# Source function library.
. /etc/init.d/functions

[ -f /sbin/rund ] || exit 0

# Source config
if [ -f /etc/sysconfig/run] ; then
        . /etc/sysconfig/run
else
        SERVER_PORTNUM=60001
        CLIENT_PORTNUM=60001
fi

start() {
        echo -n $"Starting Run: "
        daemon rund start $SERVER_PORTNUM $CLIENT_PORTNUM
        echo
        touch /var/lock/subsys/run
}
stop() {
        echo -n $"Shutting down Run: "
        killproc rund stop
        rm -f /var/lock/subsys/run
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  *)
        echo $"Usage: $0 {start|stop}"
        exit 1
esac

exit $?

kangcha의 이미지

이부분을

Quote:
start() {
echo -n $"Starting Run: "
daemon rund start $SERVER_PORTNUM $CLIENT_PORTNUM
echo
touch /var/lock/subsys/run

start() { 
echo -n $"Starting Run: " 
daemon rund $SERVER_PORTNUM $CLIENT_PORTNUM 
echo 
touch /var/lock/subsys/run 

이렇게 하니까 되네요.

그리고 이부분도

stop() { 
        echo -n $"Shutting down Run: " 
        killproc rund  
        rm -f /var/lock/subsys/run 

이렇게 바꾸었구요...
이제 잘 되네요..
참고로

Quote:
# Source config
if [ -f /etc/sysconfig/run] ; then

위부분에서 띄어쓰기가 안되었네요.
if [ -f /etc/sysconfig/run ] ; then