কোনও ফাইল পরিবর্তন হলে আমি কীভাবে একটি সিস্টেমড পরিষেবা পুনরায় চালু করব। আমি একটি জাভা পরিষেবা পেয়েছি যা কোনও জার ফাইল পরিবর্তিত হলে আমি পুনরায় লোড করতে চাই।
এটি আমার সেটআপ:
srv.service
[Unit]
Description=srv 0.1: Service's description
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/srv
ExecStart=/opt/srv/bin/srv
User=root
Group=root
[Install]
WantedBy=multi-user.target
srv.path
[Path]
PathModified=/opt/srv/lib/
আমি PathChangedপরিবর্তে একটি ডিরেক্টরি ব্যবহার করে এবং ফাইল ব্যবহার করার চেষ্টা করেছি ।
যখন আমি চালিত পরিষেবাটি ইনস্টল করি: sudo systemctl daemon-reloadএবং sudo systemctl enable srv
ধন্যবাদ!
দেখে মনে হচ্ছে আপনি পরিষেবা হিসাবে একই নাম রেখেছেন (.পাথ দিয়ে) পাথ ফাইলটি একই পরিষেবাটিকে বোঝায়: freedesktop.org/software/systemd/man/systemd.path.html তবে ... আমি জানি না এটি শুধুমাত্র একটি সেবা শুরু বা এটা এমনকি এটিকে পুনর্সূচনা যদি এটা ইতিমধ্যেই চলছে যদি
—
জ্যামিং
যেহেতু আমি এটি ডক্স থেকে বুঝতে পারি,
—
মিচা পলিটোভস্কি
srv.pathকেবল তার সমতুল্য কাজ করতে পারে systemclt start srv.service, তাই পুনরায় আরম্ভ করার জন্য আপনাকে আর একটি পরিষেবা প্রয়োজন হবে, যা শুরু হওয়ার পরে আপনার পরিষেবাটি পুনরায় চালু করা হবে।
systemctl start srv.pathআপনার এটি শুরু করতে হবে - এবং এটি বুটে শুরু করতে হবেsystemctl preset srv.path
প্রাসঙ্গিক: github.com
—
মাইচা পলিটোস্কি
pathইউনিটগুলি কেবলমাত্র অন্যান্য ইউনিট সক্রিয়করণ (শুরু) করার জন্য দরকারী। এখানে আপনি সম্ভবত তৈরী করতে পারেsrv-restart.pathসঙ্গেPathChanged=/opt/srv/lib/এবংsrv-restart.serviceসঙ্গেExecStart=systemctl restart srv.service।