কেবল মাইএসকিএল শুরু হওয়ার পরে আমি কীভাবে একটি সিস্টেমড পরিষেবা চালু করতে পারি?


15

আমি এমন একটি প্রকল্পে কাজ করছি যা একটি মনো ইমেল সার্ভার। আমি সিস্টেমেডে একটি পরিষেবা যুক্ত করার চেষ্টা করেছি যাতে এটি বুটের সময় স্বয়ংক্রিয়ভাবে শুরু হয় তবে আমার সমস্যা হচ্ছে।

আমি স্ক্রিপ্টটি তৈরি করে যুক্ত করেছি /lib/systemd/system/emailserver.serviceএবং তারপরে চালাব ln -s /lib/systemd/system/emailserver.service /etc/systemd/system/emailserver.service

আমি তখন মৃত্যুদন্ড কার্যকর আছে systemd reload-daemonদ্বারা অনুসরণ systemctl start emailserver.serviceএবং তারপর যখন আমি রান ps -ef |grep -i emailserverআমি তখন দেখতে পারেন mono EmailServer.exeএতদূর চলছে, সব খুঁজছেন ভাল।

যাইহোক, আমি যখন /var/log/messagesফাইলটিতে সার্ভারটি পুনরায় বুট করি তখন এটিতে নিম্নলিখিত ত্রুটি বার্তা থাকে

Jul 16 19:41:02 dev-server systemd[1]: emailserver.service holdoff
time over, scheduling restart. Jul 16 19:41:02 dev-server systemd[1]:
emailserver.service holdoff time over, scheduling restart. Jul 16
19:41:03 dev-server systemd[1]: emailserver.service holdoff time over,
scheduling restart. Jul 16 19:41:03 dev-server systemd[1]:
emailserver.service holdoff time over, scheduling restart. Jul 16
19:41:03 dev-server systemd[1]: emailserver.service holdoff time over,
scheduling restart. Jul 16 19:41:04 dev-server systemd[1]:
emailserver.service holdoff time over, scheduling restart. Jul 16
19:41:04 dev-server systemd[1]: emailserver.service start request
repeated too quickly, refusing to start.

আমার ইমেইল-সার্ভার.সার্ভিস স্ক্রিপ্টে আমার নিম্নলিখিত রয়েছে

[Unit]
Description=Boardies Email Server Startup Script

[Service]
ExecStart=/home/bits/EmailServer/start.email
Restart=always

[Install]
WantedBy=multi-user.target

আমি ওপেনসুস 12.1 ব্যবহার করছি

আমি কী ভুল করছি, আপনার যে কোনও সহায়তা প্রদানের জন্য ধন্যবাদ।

আপডেট আপডেটটি আমি বুটআপে প্রোগ্রাম বন্ধ করার কারণে প্রোগ্রামটি কী কারণে সৃষ্টি হচ্ছে তা খুঁজে পেয়েছি তবে আমি কীভাবে এই সমস্যাটি সমাধান করতে পারি তা নিশ্চিত নই। আমার প্রোগ্রামটি একটি মাইএসকিউএল ডাটাবেসের উপর নির্ভর করে এবং আমি মনে করি যে মাইএসকিউএল শুরু হওয়ার আগেই আমার প্রোগ্রাম শুরু হচ্ছে, মাইএসকিউএল শুরু হওয়ার পরে আমি কীভাবে আমার পরিষেবা লোড না করব?


আপনার কয়েকটি উদাহরণের দিকে নজর দেওয়া উচিত, যেমন: en.gentoo-wiki.com/wiki/Systemd বা wiki.archlinux.org/index.php/
উলিচ ড্যাঞ্জেল

উত্তর:


30

যোগ After=mysql.serviceকরে আপনার পরিষেবার ফাইলে যেমন (অথবা সঠিক পরিষেবার নাম পরিবর্তন):

[Unit]
Description=Boardies Email Server Startup Script
After=mysql.service

[Service]
ExecStart=/home/bits/EmailServer/start.email
Restart=always

[Install]
WantedBy=multi-user.target

দয়া করে মনে রাখবেন যে আপনার পরিষেবা ফাইলটি / lib / systemd / system- এ রাখতে হবে না এটি একটি ব্যবহারকারী সরবরাহ করা ফাইল এবং আপনার কেবল এটি / etc / systemd / সিস্টেমে অনুলিপি করা উচিত।

সমস্ত পরিষেবা ফাইলের একটি তালিকা পেতে আপনি ব্যবহার করতে পারেন systemctl list-unit-filesএবং আপনার ডাটাবেস পরিষেবার সঠিক নাম নির্ধারণ করতে পারেন (এটি সম্ভবত mysql.service বা mysqld.service হয়)


আমরা একাধিক After=*.serviceএবং অর্ডার করতে পারি ?
সিয়াস্তো পাইকার্জ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.