Как скрипт bash может гарантировать, что работает не более одной его копии?
Я пробовал:
ps -ef| grep /user/loca/shell/sh | wc -l
Это показывает мне 2 из-за команды grep
,Измените его на:
ps -ef | grep /user/loca/shell/sh | grep -v 'grep' wc -l
, тогда он показывает 1. Однако, если я тогда vim /user/loca/shell/sh
и затем выполню:
ps -ef| grep /user/loca/shell/sh | grep -v 'grep' wc -l
, который показывает 2. Но есть только один процесс,Я начал.
Как скрипт bash может проверить, запущен ли процесс?