I\'m trying to test a single file if it is open using lsof. Is there a faster way than this?
$result = exec(\'lsof | grep filename | wc -l\');
if($result &
Well, you can skip wc
and use the return value of grep (grep returns 0 (i.e. success) if it detects the pattern and 1 (i.e. not-success) if it does not detect the pattern):
if lsof | grep filename > /dev/null; then
# filename is in output of lsof
fi
You can improve this a bit by using grep's -l
flag:
if lsof | grep -l filename > /dev/null; then
...
This tells grep to stop looking once it detects it's first match.