Questions tagged «lock»

9
如何克服“设备或资源繁忙”?
我尝试到rm -rf一个文件夹,并得到“设备或资源繁忙”。 在Windows中,我将使用LockHunter来解决此问题。什么是linux等价物?(请提供一个简单的“解锁此方法”作为答案,而不是像这样的完整文章。尽管它们很有用,但我目前仅对ASimpleMethodThatWorks™感兴趣)
229 files  lock 

3
pid和锁定文件有什么用?
我经常看到程序指定pid和lock文件。我不确定他们的工作。 例如,在编译nginx时: --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ 有人可以阐明这一点吗?
75 lock  pidfile 

13
正确锁定外壳脚本?
有时,您必须确保同时运行一个Shell脚本实例。 例如,通过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 当然,这样的代码具有竞争条件。在一个时间窗口中,两个实例的执行都可以在第3行之后在一个实例能够触摸$LOCK文件之前进行。 对于cron作业,这通常不是问题,因为两次调用之间的间隔为几分钟。 但是事情可能会出错(例如,当锁文件位于NFS服务器上时)会挂起。在这种情况下,几个cron作业可以在第3行上阻塞并排队。如果NFS服务器再次处于活动状态,那么您将听到大量并行运行的作业。 在网上搜索时,我发现了锁运行工具,这似乎是解决该问题的好方法。使用它可以运行需要锁定的脚本,如下所示: $ 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 被两次调用,第二次调用在第一个调用结束之前发生,会发生什么? 第一次调用是否在输出文件上获得排他锁?如果是这样,第二个脚本在尝试编写时是否失败,或者外壳程序是否接受输出(允许脚本结束)并抛出错误? 还是日志文件被写入两次?

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 用户标识为: 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
该脚本如何确保自身只运行一个实例?
2013年8月19日,Randal L. Schwartz发布了该 Shell脚本,该脚本旨在确保在Linux上“该脚本只有一个实例在运行,而没有竞争条件或无需清除锁定文件”: #!/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 …


2
Fash中的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 我隐约记得执行进程保留了打开的文件描述符,并且由于flock使用文件描述符,它应该可以工作。但是我找不到任何可以使之明确和明确的文档。 作为记录,这特定于Linux。
13 bash  lock 

2
如何在Xfce中锁定会话?
我正在寻找一种简单的方法来锁定Xfce(Debian不稳定)中的会话。我不想在每次唤醒时都写密码,但是我希望能够按一下要求输入身份的快捷方式(启动命令行)。 用法是在我离开办公室吃午饭时锁定笔记本电脑。我想在关闭屏幕之前按此快捷方式(以使笔记本电脑挂起)。如果有人试图将其唤醒,则必须输入密码。
13 xfce  suspend  lock 

3
传递多个命令以聚集
flock -x -w 5 ~/counter.txt 'COUNTER=$(cat ~/counter.txt); echo $((COUNTER + 1)) > ~/counter.txt' 我如何将多个命令传递给flock上面的示例? 据我了解,flock采用不同的标志(-x表示排他,-w表示超时),然后是要锁定的文件,然后是要运行的命令。我不确定如何将两个命令传递给该函数(设置具有锁定文件内容的变量,然后递增该文件)。 我的目标是在每次脚本尝试访问文件时通过锁定文件来为文件创建某种程度的原子增量counter.txt。

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 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.