GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Memastikan Hanya Satu Contoh Skrip Bash yang Berjalan?

Solusi yang tidak memerlukan alat tambahan akan lebih disukai.

Jawaban yang Diterima:

Hampir seperti jawaban nsg:gunakan kunci direktori . Pembuatan direktori adalah atomik di bawah linux dan unix dan *BSD dan banyak OS lainnya.

if mkdir $LOCKDIR
then
    # Do important, exclusive stuff
    if rmdir $LOCKDIR
    then
        echo "Victory is mine"
    else
        echo "Could not remove lock dir" >&2
    fi
else
    # Handle error condition
    ...
fi

Anda dapat menempatkan PID penguncian sh ke dalam file di direktori kunci untuk tujuan debugging, tetapi jangan terjebak dalam pemikiran, Anda dapat memeriksa PID tersebut untuk melihat apakah proses penguncian masih berjalan. Banyak kondisi balapan terbentang di jalan itu.


Linux
  1. Bagaimana Cara Men-debug Skrip Bash?

  2. Mengapa Saya Tidak Dapat Menggunakan Cd Dalam Skrip Bash??

  3. Apa cara terbaik untuk memastikan hanya satu contoh skrip Bash yang berjalan?

  1. Filter Rsync:Menyalin Satu Pola Saja?

  2. Bagaimana Membuat Direktori Bersama Dapat Diakses Oleh Sftp?

  3. Bagaimana cara meneruskan parameter ke skrip Bash?

  1. Cara Memisahkan String dalam Skrip Bash

  2. Cara membuat perintah alias berfungsi di skrip bash atau file bashrc

  3. Bagaimana saya memastikan hanya satu contoh skrip Ruby yang berjalan pada satu waktu?