সিস্টেমে লগ ইন করার আগে আমার একটি প্রক্রিয়া চালানো দরকার। কীভাবে এটি পরিষেবাগুলির মতো চালাবেন? আমি লিনাক্সে কীভাবে পরিষেবাগুলি তৈরি করব?
উবুন্টু এবং ফেডোরায়? পরিষেবাটি টমক্যাটটি কাস্টমাইজ করা হয়েছে
সিস্টেমে লগ ইন করার আগে আমার একটি প্রক্রিয়া চালানো দরকার। কীভাবে এটি পরিষেবাগুলির মতো চালাবেন? আমি লিনাক্সে কীভাবে পরিষেবাগুলি তৈরি করব?
উবুন্টু এবং ফেডোরায়? পরিষেবাটি টমক্যাটটি কাস্টমাইজ করা হয়েছে
উত্তর:
সিস্টেমে লগ ইন না করে বা আগে সার্ভিস চালানোর জন্য (যেমন "বুটে থাকা") আপনাকে একটি স্টার্টআপ স্ক্রিপ্ট তৈরি করতে হবে এবং এটি বুট সিকোয়েন্সে যুক্ত করতে হবে।
পরিষেবা স্ক্রিপ্টের তিনটি অংশ রয়েছে: শুরু করুন, থামুন এবং পুনরায় চালু করুন।
সার্ভিস স্ক্রিপ্টের প্রাথমিক কাঠামোটি হ'ল:
#!/bin/bash
#
RETVAL=0;
start() {
echo “Starting <Service>”
}
stop() {
echo “Stopping <Service>”
}
restart() {
stop
start
}
case “$1″ in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $”Usage: $0 {start|stop|restart}”
exit 1
esac
exit $RETVAL
একবার আপনি নিজের পছন্দ অনুযায়ী স্ক্রিপ্টটি টুইট করেন, কেবল এটি /etc/init.d/ এ রাখুন
পরে, এবং এটি সিস্টেম পরিষেবা সূচনা প্রক্রিয়ায় যুক্ত করুন (ফেডোরায়, আমি উবুন্টু ব্যবহারকারী নই,> ডি):
chkconfig -add <ServiceName>
সিস্টেম বুট আপ প্রক্রিয়াতে পরিষেবা যুক্ত করা হবে এবং আপনাকে এটি আর ম্যানুয়ালি আরম্ভ করতে হবে না।
চিয়ার্স!
Init সিস্টেমের উপর নির্ভর করে আপনি আলাদাভাবে init স্ক্রিপ্ট তৈরি করেন। ফেডোরা আপনাকে বেছে নেওয়ার জন্য আপস্টার্ট এবং সিস্টেমেড দেয় এবং অবশ্যই SysV সামঞ্জস্যতা দেয়।
/etc/init/custom-tomcat.conf
ভিতরে রাখা:
start on stopped rc RUNLEVEL=3
respawn
exec /path/to/your/tomcat --and --parameters
এবং আপনার টমক্যাটটি সিস্টেম শুরু হওয়ার পরে শুরু করা উচিত।
/etc/systemd/system/custom-tomcat.service
ভিতরে রাখা:
[Service]
ExecStart=/path/to/your/tomcat --and --parameters
Restart=always
[Install]
WantedBy=multi-user.target
এবং ব্যবহার করে আপনার পরিষেবা সক্ষম করুন systemctl enable custom-tomcat.service
। এটি প্রতিটি সাধারণ বুট শুরু হবে।
অবশ্যই উভয় init সিস্টেমের জন্য আরও কয়েকটি কনফিগারেশন বিকল্প রয়েছে, আপনি তাদের ডকুমেন্টেশনে যাচাই করতে পারেন।
টমক্যাট একটি মোটামুটি সাধারণ পরিষেবা, আমি ইতিমধ্যে ডিস্ট্রো দ্বারা সরবরাহ করা init স্ক্রিপ্টটি দেখার পরামর্শ দেব। সম্ভাবনা হ'ল এটি আপনার কাস্টমাইজড বাইনারি নিয়ে কাজ করে, সামান্য কিছুচিহ্ন ছাড়াই।
আপনার যদি cron
ডেমন থাকে তবে পূর্বনির্ধারিত ক্রোন সময় হুকগুলির মধ্যে একটি হ'ল @reboot
যা সিস্টেম শুরু হওয়ার পরে স্বাভাবিকভাবে চলে। চালান crontab -e
সম্পাদন করা আপনার crontab
ফাইল, এবং একটি লাইন যোগ করুন:
@reboot /your/command/here
আপনি আরও পরিশীলিত স্ক্রিপ্ট তৈরি করতে পারেন যা আপনাকে নির্দিষ্ট ব্যবহারকারীর অনুমতিতে নীচে চলার অনুমতি দেয়:
#!/bin/sh
NAME=myservice
DESC="My Service"
USERGROUP="myservice:myservice"
#Helper functions
start() {
start-stop-daemon --start --quiet --background --make-pidfile \
--pidfile /var/run/$NAME.pid --chuid $USERGROUP \
--exec /usr/local/bin/myservice
}
stop() {
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--exec myservice --retry 30
}
case "$1" in
start)
echo -n "Starting $DESC: "
start
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
stop
echo "$NAME."
;;
restart)
echo -n "Restarting $DESC: "
#set +e
stop
#set -e
#sleep 1
start
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart}" >&2
exit 1
;;
esac
exit 0
স্ক্রিপ্টটি /etc/init.d/myservice এ যায় এবং আপনি পরিষেবাটি চালু করে:
/etc/init.d/myservice start
এটি কীভাবে কাজ করে তা বুঝতে স্টার্ট-স্টপ-ডেমনে ম্যান পৃষ্ঠাটি পড়ুন।
উবুন্টু বা ডেবিয়ান এ আপনি যুক্ত করতে ব্যবহার করতে পারেন
update-rc.d your_service defaults
মুছে ফেলার জন্য
update-rc.d -f your_service remove
বিদায়! \ ণ
এলএসবি-সংকলক হতে ফাংশন স্থিতি এবং জোরপূর্বক পুনরায় লোড কার্যকর করতে চমৎকার
service --status-all
তালিকায় উপস্থিত করবেন ?