タグ付けされた質問 「lock」

9
「デバイスまたはリソースがビジー」を乗り越える方法
rm -rfフォルダーを試したところ、「デバイスまたはリソースがビジー」になりました。 Windowsでは、LockHunterを使用してこれを解決していました。同等のLinuxとは何ですか?(のような方法ではなく、完全な記事「このアンロック」の単純な答えとして与えてください、このいずれかを。彼らは便利だが、私は現在、ちょうどASimpleMethodThatWorks™に興味を)
229 files  lock 

3
PIDおよびロックファイルとは何ですか?
プログラムがpidとロックファイルを指定するのをよく見ます。そして、私は彼らが何をするのかよく分かりません。 たとえば、nginxをコンパイルする場合: --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ 誰かがこれに光を当てることができますか?
75 lock  pidfile 

13
シェルスクリプトの正しいロック?
シェルスクリプトの1つのインスタンスのみが同時に実行されていることを確認する必要がある場合があります。 たとえば、それ自体でロックを提供しないcrondを介して実行されるcronジョブ(たとえば、デフォルトのSolaris crond)。 ロックを実装する一般的なパターンは、次のようなコードです。 #!/bin/sh LOCK=/var/tmp/mylock if [ -f $LOCK ]; then # 'test' -> race begin echo Job is already running\! exit 6 fi touch $LOCK # 'set' -> race end # do some work rm $LOCK もちろん、このようなコードには競合状態があります。2つのインスタンスの実行が両方とも行3の後、$LOCKファイルに触れることができる前に進むことができる時間枠があります。 cronジョブの場合、2つの呼び出しの間隔が数分あるため、これは通常問題になりません。 しかし、ロックファイルがNFSサーバー上にある場合など、問題が発生する可能性があります。その場合、いくつかのcronジョブが行3でブロックしてキューに入れることができます。NFSサーバーが再びアクティブになった場合、並列実行ジョブの雷の群れがあります。 Webで検索すると、この問題の良い解決策のように思えるツールロックランが見つかりました。これを使用して、次のようなロックが必要なスクリプトを実行します。 $ lockrun --lockfile=/var/tmp/mylock myscript.sh これをラッパーに入れるか、crontabから使用できます。 これは、使用lockf()可能な場合(POSIX)をバックにフォールflock()(BSD)。またlockf()、NFSを介したサポートは比較的広く普及しているはずです。 に代わるものはありlockrunますか? 他のcronデーモンはどうですか?適切な方法でロックをサポートする一般的なcrondはありますか?Vixie …

4
ファイルをロックしているプロセスをリストする方法は?
を使用するとflock、複数のプロセスが同時に共有ロックを保持したり、書き込みロックの取得を待機したりできます。これらのプロセスのリストを取得するにはどうすればよいですか? つまり、ファイルXについて、理想的には、ファイルのロックを保持している、または待機している各プロセスのプロセスIDを見つけることです。ただし、ロックを待機しているプロセスの数を取得するだけでも非常に良いスタートになります。
51 files  process  lock 


2
出力をファイルにリダイレクトすると、ファイルにロックが適用されますか?
コマンドがある場合 $ ./script >> file.log これは2回呼び出され、最初の呼び出しが終了する前に2回目の呼び出しが行われますが、どうなりますか? 最初の呼び出しは出力ファイルの排他ロックを取得しますか?その場合、2番目のスクリプトは書き込みを試みるときに失敗しますか、それともシェルは出力を受け入れ(スクリプトの終了を許可)、エラーをスローしますか? または、ログファイルが2回書き込まれますか?

6
GeditはVirtualBox共有にファイルを保存しません:テキストファイルがビジーです
他のアプリケーション(たとえばopenoffice)を使用して変更できるテキストファイルがあります。しかし、を使用して変更して保存しようとするとgedit、次のエラーが発生しgeditます: Could not save the file /media/sf_Ubuntu/BuildNotes.txt. Unexpected error: Error renaming temporary file: Text file busy BuildNotes.txtの許可は次のとおりです。 -rwxrwx--- 1 root vboxsf 839 2012-10-26 12:08 BuildNotes.txt ユーザーIDは次のとおりです。 m@m-Linux:/media/sf_Ubuntu$ id uid=1000(m) gid=1000(m) groups=4(adm),20(dialout),24(cdrom),46(plugdev),105(lpadmin),119(admin),122(sambashare),1000(m),1001(vboxsf) 何が問題で、どうすれば修正できますか?


3
このスクリプトは、それ自体の1つのインスタンスのみが実行されていることをどのように確認しますか?
2013年8月19日に、Randal L. Schwartzはこのシェルスクリプトを投稿しました。これは、Linux上で、「[スクリプト]の1つのインスタンスのみが実行され、競合状態やロックファイルのクリーンアップなし」を保証することを目的としています: #!/bin/sh # randal_l_schwartz_001.sh ( if ! flock -n -x 0 then echo "$$ cannot get flock" exit 0 fi echo "$$ start" sleep 10 # for testing. put the real task here echo "$$ end" ) < $0 宣伝どおりに動作するようです: $ ./randal_l_schwartz_001.sh & ./randal_l_schwartz_001.sh [1] 11863 11863 start …


2
bashでflock&execは安全ですか?
私が見た「標準」ロックスニペットは次のようになります... ( flock -n 200 || exit 1; # do stuff ) 200>program.lock execその時点で使用することは安全ですか?サブプロセスはロックを保持しますか? ( flock -n 200 || exit 1; exec /usr/bin/python vendors-notcoolstuff.py ) 200>program.lock exec'dプロセスは開いているファイル記述子を保持しており、flockはファイル記述子を使用するため、動作するはずです。しかし、私はそれを決定的かつ明確にする文書を見つけることができません。 記録のために、これはLinuxに固有です。
13 bash  lock 

2
Xfceでセッションをロックする方法は?
Xfce(Debian Unstable)でセッションをロックする簡単な方法を探しています。私はすべてのウェイクアップ時にパスワードを記述する必要はしたくないけど、私は、識別を要求(コマンドラインを起動する)ショートカットにプレスにできるようにしたいです。 使用法は、昼食のためにオフィスを出るときにラップトップをロックすることです。画面を閉じる前にこのショートカットを押します(ラップトップを一時停止します)。誰かが目を覚まそうとすると、パスワードを入力する必要があります。
13 xfce  suspend  lock 

2
ログインに5回失敗した後にユーザーをロックする方法は?
ログインに5回失敗した後にユーザーをロックする方法は? それを行う方法のディストリビューション/バージョンをいくつか集めましたが、テストできません。 RHEL4:以下を追加します: auth required /lib/security/$ISA/pam_tally.so no_magic_root account required /lib/security/$ISA/pam_tally.so deny=5 reset no_magic_root に: /etc/pam.d/system-auth /etc/pam.d/login /etc/pam.d/sshd RHEL4:??? SLES9:以下を追加します: auth required pam_tally.so no_magic_root account required pam_tally.so deny=5 reset no_magic_root に: /etc/pam.d/login /etc/pam.d/sshd SLES11またはSLES10:以下を追加する: auth required pam_tally.so deny=5 onerr=fail per_user no_lock_time に: /etc/pam.d/common-auth さらに、次を追加します: account required pam_tally.so に: /etc/pam.d/common-account 質問:ログインが5回失敗した後、これがユーザーをロックする有効な方法であることを誰かが確認できますか?またはこれを行う方法? PS: …
12 password  pam  lock 

3
flockに複数のコマンドを渡す
flock -x -w 5 ~/counter.txt 'COUNTER=$(cat ~/counter.txt); echo $((COUNTER + 1)) > ~/counter.txt' flock上記の例のように複数のコマンドを渡すにはどうすればよいですか? 私が理解している限り、flock異なるフラグ(-xは排他的、-wはタイムアウト用)、次にファイルをロックし、次にコマンドを実行します。この関数に2つのコマンドを渡す方法がわからない(ロックされたファイルの内容で変数を設定してから、このファイルをインクリメントする)。 ここでの目標は、スクリプトがcounter.txtファイルにアクセスしようとするたびにファイルをロックすることにより、ファイルに多少アトミックな増分を作成することです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.