কীভাবে বাশ স্ক্রিপ্টটি বিলম্বিতভাবে চালানো যায় (অর্থাত প্রতিটি পুনরাবৃত্তিতে 1 সেকেন্ড অপেক্ষা করুন)?


28

আমার এই বাশ লিপি আছে;

for (( i = 1 ; i <= 160 ; i++ )); do
  qsub myccomputations"${i}".pbs
done

মূলত, আমি পছন্দ করি যদি প্রতিটি পুনরাবৃত্তির মধ্যে 1 সেকেন্ড বিলম্ব হয়। কারণটি হ'ল প্রতিটি পুনরাবৃত্তিতে এটি প্রোগ্রাম ফাইলটি সমাধানের mycomputation"${i}$.pbsজন্য একটি কোর নোডে প্রেরণ করে । অনুপ্রেরণা হ'ল এই উদাহরণটি সমাধান করার ক্ষেত্রে সিউডো এলোমেলো সংখ্যার ব্যবহার জড়িত এবং আমি যে আরএনজি ব্যবহার করি (আর এর) সিপিইউ সময় বীজ হিসাবে ব্যবহার করে।

সুতরাং আপনি কীভাবে বাশকে জিজ্ঞাসা করবেন

for (( i = 1 ; i <= 160 ; i++ )); do
  wait 1 sec    
  qsub myccomputations"${i}".pbs
done

উত্তর:


54

কেবল sleep 1ব্যাশে ব্যবহার করুন ।

for (( i = 1 ; i <= 160 ; i++ )); do
  sleep 1
  qsub myccomputations"${i}".pbs
done

আপনি যদি 1 সেকেন্ডের চেয়ে কম ঘুমাতে চান তবে আপনি ভাসমান পয়েন্ট নম্বরটি ব্যবহার করতে পারেন
শেলহোলিক

0

আপনি যদি আপনার বিষয়বস্তু যা পরামর্শ দেয় তা অর্জন করতে চান তবে আপনার 'এট' ব্যবহার করা উচিত।

দেখ

      man at

আরও তথ্যের জন্য.


1
ধন্যবাদ ওলি প্রকৃতপক্ষে, আমি শিরোনামটি আবার লিখব, তাই এটি ভবিষ্যতের প্রশ্নের জন্য প্রশ্নের সাথে মিলে যায়।
ব্যবহারকারী 2413

atনির্দিষ্ট সময়কালের জন্য একটি লুপ স্থগিত করবে না, তবে একটি নির্দিষ্ট সময়ে কার্যকর করার জন্য একটি প্রোগ্রাম / স্ক্রিপ্ট সেট করবে।
সোরেন এ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.