<মায়াপ> শুরু করতে ব্যর্থ serv পরিষেবা: ইউনিট <মায়াপ্পে> ice


13

আমি আমার অজগর বট জন্য একটি সুপার বেসিক init.d স্ক্রিপ্ট তৈরি করেছি:

#!/bin/bash
# chkconfig: 2345 20 80
# description: Description comes here....

# Source function library.
. /etc/init.d/functions

start() {
    echo "starting torbot"
    python /home/ctote/dev/slackbots/torbot/torbot.py
    # example: daemon program_name &
}

stop() {
    # code to stop app comes here
    # example: killproc program_name
}

case "$1" in
    start)
       start
       ;;
    stop)
       stop
       ;;
    restart)
       stop
       start
       ;;
    status)
       # code to check status of app comes here
       # example: status program_name
       ;;
    *)
       echo "Usage: $0 {start|stop|status|restart}"
esac

এবং শীর্ষে আছে এবং সেট torbot.pyআছে । আমি যদিও আসলে এটি শুরু করার চেষ্টা করি তবে আমি পাই:+x#!/usr/local/bin/python

:/var/lock/subsys$ sudo service torbot start Failed to start torbot.service: Unit torbot.service not found.

আমি কিছু অনুপস্থিত করছি?

উত্তর:


4

আপনি যদি উবুন্টু ১ 16.০৪ ব্যবহার করছেন বা আরও নতুন আপনি পরিষেবা ফাইল তৈরির বিষয়ে সিস্টেমডের ডকটি পর্যালোচনা করতে পারেন

স্ক্রিপ্টটি পুরানো init সিস্টেমের জন্য এবং একটি উত্তরাধিকারের সামঞ্জস্যতা স্তর দ্বারা পরিচালিত হয়।


2

আমার জন্য, আমি উবুন্টু 16.04 ব্যবহার করছি।

প্রথমে init ফাংশনটি পরিবর্তন করুন

. /etc/init.d/functions

প্রতি

. /lib/lsb/init-functions

তারপরে শেলটিতে, আমার স্ক্রিপ্টে / ইত্যাদি / আরসি * থেকে প্রতীকী লিঙ্কগুলি তৈরি করুন:

sudo update-rc.d <myapp> defaults 95

এখানে 95 মানে কি?
Gherman

@ গেরম্যান এটি অগ্রাধিকার
টায়ারসন

1

ঠিক আছে, আমি এই স্ট্যাকওভারফ্লো উত্তরের কয়েকটি পদক্ষেপ চেষ্টা করেছি ( ১.0.০৪-এ আপস্টার্ট স্ক্রিপ্ট চালাচ্ছি? ) এবং তারা আমার এনভিভিটি নিম্নরূপে কাজ করেছে

  1. উবুন্টু 17.10 এ
  2. গুনিকর্ন 19.x সার্ভারে আমার একটি অজগর অ্যাপ রয়েছে, আমার এই পরিষেবাটি পরিষেবা হিসাবে শুরু করা দরকার start

প্রথমত আপনার একটি foo.service ফাইল লিখতে হবে।

[Unit] 
Description=FooServer 

[Service] 
Restart=on-failure
WorkingDirectory=/path/to/your/working/directory/where the foo lives
ExecStart=/what/process/will call foo eg: in my case I used gunicorn app:app
ExecReload=/bin/kill -HUP $MAINPID 
KillSignal=SIGINT 

[Install] 
WantedBy=multi-user.target

'=' চিহ্নের বাম পাশের প্রতিটি শব্দের অর্থ এবং তাদের সমতুল্য (পূর্বের) আপস্টার্ট লিঙ্কে রয়েছে https://wiki.ubuntu.com/SystemdForUpstartUvers

ফাইলটি প্রস্তুত হয়ে গেলে, আসুন আপনি এটির নাম 'foo.service' হিসাবে রাখুন (। সার্ভিস এক্সটেনশন গুরুত্বপূর্ণ)

আপনাকে ফাইলটি স্থাপন করতে হবে /lib/systemd/system

যার পরে আপনাকে কল করে পরিষেবাটি সক্ষম করতে হবে

systemctl enable foo

এটি আপনাকে সিট লিঙ্কগুলি তৈরি করার সময় আপনার মূল পাসওয়ার্ডটি প্রবেশ করার অনুরোধ জানাবে।

আপনি যদি কোনও ঝামেলা ছাড়াই এখানে পৌঁছে থাকেন তবে আপনি ভাল। আপনার পরিষেবাটি তাই কল করে স্টার্ট তৈরি করা হয়েছে

sudo service foo start

systemctl status foosudo service foo stopপরিষেবাটি থামাতে স্ট্যাটাসটি দেখতে


0

আপনি কি এইরকম কিছু ক্লান্ত করেছেন? আমি কীভাবে আপস্টার্ট স্ক্রিপ্টগুলি ডিবাগ করব?

আপনি কী এই নির্দেশিকাটি সরবরাহ করে তার আউটপুট সরবরাহ করতে পারেন যাতে আমরা আপনার সমস্যাটিকে সম্ভাব্যভাবে ডিবাগ করতে সহায়তা করতে পারি?


0

আমার একই সমস্যা ছিল, এটি আমার জন্য কাজ করা সমাধান। চেষ্টা করুন:

sudo systemctl ডেমন-পুনরায় লোড করুন

sudo systemctl ডিমন_এপ.সর্পিস সক্ষম করুন

sudo systemctl start daemon_app.service

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