আমি স্ক্রিপ্ট থেকে ডেমনের অনুরূপ একটি প্রক্রিয়া চালাতে ও কনফিগার করতে চাই।
আমার শেলটি সাইগউইনের অধীনে জেডএস এমুলেটেড এবং ডেমন এসএফকে , একটি বেসিক এফটিপি সার্ভার।
এখানে গুরুত্বপূর্ণ বিষয়গুলির জন্য, স্ক্রিপ্টটি startserv.sh
নিম্নরূপ খসড়া করা যেতে পারে:
#!/bin/sh
read -s -p "Enter Password: " pw
user=testuser
share=/fshare
cmd="sfk ftpserv -user=$user -pw=$pw -usedir $share=$share"
$cmd &
স্ক্রিপ্টটি চালানোর পরে startserv.sh
, কোনও প্রম্পট না দেখিয়ে এটি থামবে (শেষ?), তারপরে:
CTRL+ Cস্ক্রিপ্ট এবং পটভূমি উভয় কাজ প্রক্রিয়া শেষ করে;
Enterস্ক্রিপ্ট হিট করার প্রক্রিয়াটি পটভূমিতে থেকে যায়।
যাইহোক আমি কেবল এটির মাধ্যমে দেখতে পাচ্ছি ps
এবং না jobs
, সুতরাং, যখন আমি প্রক্রিয়াটি বন্ধ করতে চাই, আমাকে একটি নৃশংস kill -9
সংকেত পাঠাতে হবে , এটি এমন একটি বিষয় যা আমি CTRL+ এর পক্ষে এড়াতে চাই C।
একটি বিকল্প পটভূমিতে পুরো স্ক্রিপ্ট চলমান হবে । 'হবে', তবে read
স্ক্রিপ্টটি চলমান থাকলে কমান্ডটি ব্যবহারকারী ইনপুট পেতে অক্ষম startserv.sh &
।
নোট করুন যে আমার একটি ইফেমেরাল সার্ভারের দরকার, সত্য ডেমোন নয় : এটি হ'ল আমি চাই যে সার্ভার প্রক্রিয়াটি পটভূমিতে চলুক, স্ক্রিপ্টটি শেষ হওয়ার পরে, সহজ ইন্টারেক্টিভ শেল কার্য সম্পাদন করতে (ভার্চুয়াল মেশিন গেস্টের সাথে), তবে আমি করি না ' শেলের বেঁচে থাকার জন্য প্রক্রিয়াটির প্রয়োজন নেই; সুতরাং nohup
উপযুক্ত মনে হয় না।
bgproc="$!"
এবং তারপরেcommand "$bgproc"
যথাযথ ব্যবস্থা গ্রহণ করুন। এছাড়াও দেখুন স্ট্যাকওভারফ্লো.com