আমার জন্য সময়ে সময়ে ডকি ক্রাশ হয়। ক্রাশ হওয়ার পরে আমি কীভাবে এটি পুনরায় চালু করতে পারি?
আমার জন্য সময়ে সময়ে ডকি ক্রাশ হয়। ক্রাশ হওয়ার পরে আমি কীভাবে এটি পুনরায় চালু করতে পারি?
উত্তর:
প্রথমত, আমি ডকি ব্যবহার করছি না। তবে আমি ধরে নিচ্ছি ডকটি আপনার $ রাথের মধ্যে রয়েছে। যদি তা না হয় তবে বাইনারিটির পুরো পথ নির্দিষ্ট করুন।
এখানে ব্যাশের দুর্দান্ত ব্যবহার রয়েছে:
কোনও ফাইল দিয়ে শুরু করুন, যেমন (আপনি চাইলে জিডিটের পরিবর্তে ভিম):
gedit ~/process_monitor.sh
নিম্নলিখিত টাইপ করুন:
#!/bin/bash
if [[ -z "$1" ]];then
echo "ERROR: must specify program"
exit 1
fi
while (( 0 == 0 ));do
$@ &
pid=`jobs -l | awk '{print $2}'`
wait $pid
done
ফাইলটি সংরক্ষণ করুন।
অনুমতি সেট করুন:
chmod a+x ~/process_monitor.sh
এখন আপনি এর মতো একটি প্রোগ্রাম চালাতে পারেন:
~/process_monitor.sh docky
এবং এটি প্রোগ্রামটি একবারে চালু করবে এবং আপনি যদি কখনও এটিটি ছাড়তে বা এটি ক্র্যাশ করতে চান তবে প্রোগ্রামটি পুনরায় চালু করতে ভুলবেন না।
সিস্টেম স্টার্টআপে একটি এন্ট্রি যুক্ত করতে যাতে আপনি একবার লগ ইন করে প্রোগ্রামটি চালু করে এবং আপনি প্রস্থান না করা অবধি থামবে না, এটি করুন:
/bin/bash ~/process_monitor.sh docky
নতুন এন্ট্রি চেক করা হয়েছে তা নিশ্চিত করুন। লগ আউট এবং ইন এবং আপনি সমস্ত সময় ডকি দেখতে পাবেন।
/bin/bash ~/process_monitor.sh docky
স্টার্টআপ অ্যাপ্লিকেশনগুলিতে যুক্ত করেছি, তবুও কিছুই ঘটে না। আসলে আমি লগ ইন করার পরে এক সেকেন্ডের জন্য পর্দায় অর্ধেক টার্মিনাল উইন্ডো ফ্ল্যাশ দেখতে পাচ্ছি, তবে এটিই সব। আমি কমান্ডটি প্রারম্ভিক অ্যাপ্লিকেশনগুলিতে যুক্ত করলেও স্ক্রিপ্টটি কিক করে না। আমার কি করা উচিৎ?
আমি একটি ছোট "র্যাপার" স্ক্রিপ্ট বেলো লিখেছিলাম। এটি ডকি স্প্যান করবে এবং এটি পর্যবেক্ষণ করবে। স্টার্টআপ অ্যাপ্লিকেশনগুলিতে ডক ছাড়াই এটিকে একা ছড়িয়ে দিন।
#!/usr/bin/env bash
#
###########################################################
# Author: Serg Kolo , contact: 1047481448@qq.com
# Date: March 31st, 2016
# Purpose: monitor script that respawns docky if it dies
# Written for: http://askubuntu.com/q/752478/295286
# Tested on: Ubuntu 14.04 LTS
###########################################################
# Copyright: Serg Kolo , 2016
#
# Permission to use, copy, modify, and distribute this software is hereby granted
# without fee, provided that the copyright notice above and this permission statement
# appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
ARGV0="$0"
ARGC=$#
monitor_pid ()
{
if ps -p $1 > /dev/null ;
then
# Docky is there, no-op
sleep 0.25
continue
else
# Docky is gone,ask user if they want it back
DOCKY_PID=$(ask_restart)
fi
}
spawn_docky()
{
docky &> /dev/null &
echo $! # return docky pid
}
ask_restart ()
{
zenity --question --title="Docky Monitor"\
--text="Docky has quit, do you want to restart it ?" > /dev/null
if [ $? -eq 0 ] ;then
spawn_docky
else
kill -SIGTERM $MYPID # exit the script
fi
}
main()
{
local MYPID=$$
local DOCKY_PID=$(spawn_docky)
while true;
do
monitor_pid $DOCKY_PID
done
}
main
./ প্রসেস_মনিটর.শ দুর্দান্ত কাজ করে।
তবে কেবলমাত্র যদি আমি টার্মিনাল, বা ইয়াকুয়াক ব্যবহার করি ... তাই আমি যখন "~ / প্রক্রিয়া_মনিটর.শ ডকি" বা "/ বিন / বাশ ~ / প্রক্রিয়া_মনিটর.শ ডকি" ব্যবহার করি তখনই আমি একটি নতুন শেল খুলতে পারি
তবে আমি যদি "স্টার্টআপ অ্যাপ্লিকেশনস" এ যাই, ক্লিক করুন এবং এই নির্দেশাবলী অনুসরণ করুন যখন আমার কম্পিউটার শুরু হবে তখন কিছুই হয় না। আমাকে এখনও সেই আদেশটি নিজেই চালাতে হবে। এবং যখন আমি / home/"username"/process_monitor.sh ডকি রাখি তখন এটি কাজ করে।
এটি অটোস্টার্ট পাওয়ার জন্য আমি একটি সমাধান খুঁজে পেয়েছি (যা কোথাও পোস্ট করা হয়নি)।
~ / प्रक्रिया_মনিটর.শ ডকি ব্যবহার না করে একটি নতুন পাঠ্য ফাইল তৈরি করুন:
#! / বিন / ব্যাশ
~ / প্রক্রিয়া_মনিটর.শ ডকি
সম্পন্ন
chmod a + x ~ / start.sh
এখন আপনি আপনার টার্মিনাল / ইয়াকুয়াক বা আপনি যা পছন্দ করতে চান তা প্রোগ্রামটি চালাতে পারেন:
~ / Start.sh
এবং এটি ~ / process_monitor.sh ডকি শুরু করবে। সুতরাং এটি স্টারেটেট পাবে এবং ক্র্যাশ হলে পুনরায় শুরু হবে।
আপনি কেবল "প্রক্রিয়া_মনিটর.শ" এবং "স্টার্ট.শ" এর জন্য পছন্দ করেন এমন কোনও নাম চয়ন করতে পারেন .শ গুরুত্বপূর্ণ। তবে এটি আপনার পাঠ্যপুস্তকেও পরিবর্তন করতে ভুলবেন না।
এখন আপনার ড্যাশে যান, টাইপ করুন এবং "স্টার্টআপ অ্যাপ্লিকেশনগুলি" খুলুন।
এখন আপনি আপনার কম্পিউটার পুনরায় চালু করতে পারেন এবং এটি পরীক্ষা করতে পারেন।
process_monitor.sh
? কোনও ফাইল সম্পাদনা বা অনুমতি পরিবর্তনের প্রয়োজন নেই।