我的文件包含以下行
line1
line2
line3
line4
line5
line6
line7
line8
line9
当5个进程同时运行并使用sed
命令在上述文件中删除一行时,有些行不会被删除。
如何解决此问题?
答案 0 :(得分:0)
哦,sed不会失败,但并发访问会给你带来问题。这是场景(我猜)。
结果:A的更改将丢失。
你应该怎么做?使用一些锁来保护并发访问。您可以使用flock命令。
(
flock -n 9 || exit 1
# Your 'sed' command if script can access file
) 9>/var/lock/mylockfile