কার্য: 3-5 কমান্ড (সমান্তরাল / পটভূমিতে) সহ ব্লকগুলি চালান। উদাহরণ ব্লক:
dd if=/dev/urandom of=/mnt/1/x bs=1024 count=1024000000 &
dd if=/dev/urandom of=/mnt/2/x bs=1024 count=1024000000 &
dd if=/dev/urandom of=/mnt/3/x bs=1024 count=1024000000 &
এটি শেষ হয়ে গেলে, পরবর্তী ব্লকটি চালানো উচিত। আমার ধারণা, লক ফাইলের মাধ্যমে এটি করা যেতে পারে:
task1.sh:
real_task1 real_param1 ; rm /var/lock/myscript/task1.lock
task2.sh:
real_task2 real_param1 ; rm /var/lock/myscript/task2.lock
...
taskgen.sh:
# loop
# while directory isn't empty - wait...
gen_tasks.pl # build task files from some queue
for i in 1 2 3; do touch /var/lock/myscript/task$i.lock ; done
./task1.sh &
./task2.sh &
./task3.sh &
# if task1.sh doesn't exits then exit, else loop waits for files to be deleted
ডিরেক্টরিটি ফাঁকা আছে কিনা তা পরীক্ষা করার জন্য বেশ কয়েকটি পদ্ধতি এখানে পাওয়া যাবে , কোনটি ব্যবহার করবেন তা নিশ্চিত হন না;
প্রশ্ন : এর বাস্তবায়নের আরও ভাল কোন উপায়?
PS সম্ভাব্য স্থিতি প্রতিবেদনের পদ্ধতি:
command && report_good_state.sh taskid ; report_state_done.sh taskid; rm /var/lock/myscript/taskN.lock