[topic] 二重起動の禁止とコマンドライン引数の取得
Posted feedbacks - Nested
Flatten Hidden二重起動を防止すればいいんですよね? かぶって隠れてしまったので投稿してみるテスト ロック取得のところをループさせればシリアルに処理できるようになります。 シェルの定石だと信じてるいつもの手法です。 # 最新のトピックもトップページに出るようになればよいですね。 # そしてPOSIXシェルのないことを知ったorz
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 | #!/usr/bin/sh
# ロックファイル
readonly LOCKFILE="${TMPDIR:-/var/tmp}/.SAMPLE.lock"
###
echo "$$"
if [ -e "${LOCKFILE}" ] ;then
# すでにロックされてる
echo "($$)" '後から起動~1:' "$@"
exit 1
fi
# ロック取得
set -o noclobber
echo "$$" > "${LOCKFILE}"
LOCKED_PID="$(cat "${LOCKFILE}")"
if [ "$$" != "${LOCKED_PID}" ]; then
echo "($$)" '後から起動~2:' "$@"
exit 2
fi
set +o noclobber
# ロック取得完了
echo "($$)" 'ダミ~'
sleep $1
echo '終了~'
# 終わりロックファイルの削除
rm -f "${LOCKFILE}"
exit 0
#EOF
|


あにす
#6184()
[
C#
]
Rating1/1=1.00
後から起動されようとした実行ファイルに渡されたコマンドライン引数を取得、表示して下さい。
.NET Framework上のWindowsアプリケーションではこんな方法があります。
VBのWindowsFormsApplicationBaseクラスを利用するので
Microsoft.VisualBasicを参照に加えます。
see: 貧脚レーサーのサボり日記
Rating1/1=1.00-0+
[ reply ]