DNS-323 mldonkey 다운로드 완료후 core 죽이기
최광용 Lv. 15 llllllllll 
4378 hit since 2008/05/30 14:38

DNS-323에서 mlnet을 돌린다는 것은 여러 모로 신경쓰이는 일이다. DNS-323의 리소스가 많이 부족하기 때문에 항상 켜두기엔 부담이 된다. 꼭 필요한 경우 백그라운드에서 다운로드 하게 하고, 다운로드가 끝나면 core를 죽여서 리소스를 확보하기 위해 이 방법을 생각하게 되었다.

원리는 간단하다. mlnet은 다운로드가 완료되면 file_completed_cmd에 적어둔 스크립트를 실행해준다. 이 스크립트에서 다운로드 할 파일이 더 이상 없을 경우 core를 종료하도록 하였다.

  1. / # cat /mnt/HD_a2/mldonkey/move_complete.sh
    #!/bin/sh

    #date >> /mnt/HD_a2/move_complete.log
    #echo "Starting move_complete.sh" >> /mnt/HD_a2/move_complete.log

    # move completed files
    mv /mnt/HD_a2/mldonkey/incoming/directories/* /mnt/HD_a2/incoming/
    mv /mnt/HD_a2/mldonkey/incoming/files/* /mnt/HD_a2/incoming/

    # change owner
    chown -R cky:user /mnt/HD_a2/incoming/*

    # kill core if no more downloads
    RET=`ls /mnt/HD_a2/mldonkey/temp/ | wc -w`

    if [ $RET -le 0 ]
    then
            echo "No more download."
            /ffp/start/mlnet.sh stop
    else
            echo "Skip..."
    fi

mlnet은 다운로드 하기 위해 temp 디렉토리를 사용한다. 다운로드 하는 파일이 있을 경우 temp 디렉토리에 파일이 존재하고 모든 다운로드가 완료되면 temp 디렉토리가 비워지게 된다. 즉, temp 디렉토리에 아무것도 없을 경우 core를 종료하게 된다.