業務系のシステムでシェルスクリプトを使用している場合など、 多重起動の防止などで排他制御が必要な場合が多々あると思いますが、その様な場合に役に立つシンボリックリンクを利用したシェルスクリプトでの排他制御方法です。 ただし、あくまでもシェルスクリプトによる処理ですので、厳密な意味での排他制御にはなり得ないために タイミングによってはどうしても多重起動してしまう危険性がある事は考慮しておく必要があります。 この処理では自分自身のプロセス ID をロックファイルとしてシンボリックリンクして利用しているので、排他制御を実施したプロセス ID が簡単に確認できる様にするとともに、何らかの理由で不正にロックファイルが残ってしまった場合にプロセス ID を確認する事で簡単にリカバリ可能としています。 なお、プロセス確認のために /proc を参照しているので、 Linux など /proc が存在するシ
![シェルスクリプトでの排他処理 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/00339253eed1c5821c3cf5cc90c02060870b8ef8/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgyJUI3JUUzJTgyJUE3JUUzJTgzJUFCJUUzJTgyJUI5JUUzJTgyJUFGJUUzJTgzJUFBJUUzJTgzJTk3JUUzJTgzJTg4JUUzJTgxJUE3JUUzJTgxJUFFJUU2JThFJTkyJUU0JUJCJTk2JUU1JTg3JUE2JUU3JTkwJTg2JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0xZTA2OTY4ODY0YjUyZGUyOWJlODkyYTM1NmJjMTkwYw%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwYnNkaGFjayZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MTJmMzY4YTM0ODFiOGMxYTc0NTU0NDk5ZjAxM2Y4YjI%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D4334052d37d174d19918d303c299b677)