একটি নির্দিষ্ট নামের একটি নির্দিষ্ট ফাইল চলমান আছে কিনা তা পরীক্ষা করে দেখুন?


0

আমি ভাবছি যে কোনও নির্দিষ্ট নামের একটি নির্দিষ্ট ফাইল চলছে কিনা তা যাচাই করা সম্ভব? আমি অনেকগুলি কেস দেখছি যা পিআইডি ফাইল ফাইলের পরিবর্তে দেখায় তবে ফাইল নামের পথ ধরে। উদাহরণস্বরূপ বলা যাক যে টেস্ট.এফপি নামের একটি ফাইল পিএইচপি কমান্ডের মাধ্যমে কার্যকর করা হচ্ছে (এক্ষেত্রে কেবল এই ফাইলটি কেবল একটি অসীম লুপের ভান করা যাক তাই ফাইল অনির্দিষ্টকালের জন্য চলমান থাকে)। এমন কোনও আদেশ আছে যা আমি লিখতে পারি যা আমাকে জানতে দেবে যে এই নির্দিষ্ট ফাইলটি বর্তমানে কার্যকর হচ্ছে? যদি এটি করণীয়যোগ্য না হয় তবে আমি কী বর্তমানে চলমান সমস্ত পিএইচপি ফাইলগুলি দেখতে পাচ্ছি? বর্তমানে উবুনুতু 18.04 এলটিএস ব্যবহার করছে


ফাইলনামটি কার্যকর হওয়া কমান্ড হওয়া দরকার? বা আপনার কোনও প্রক্রিয়া থাকতে পারে .../php test.phpএবং আপনি কি এটির সাথে মিল রাখতে চান?
জেফ শ্যাচলার

আমি কেবলমাত্র একটি নির্দিষ্ট ফাইলটি কার্যকর করা হচ্ছে কিনা তা জানতে চাই। আমি পিএইচপি কেবলমাত্র স্পষ্টতার জন্য উদাহরণ হিসাবে ব্যবহার করছিলাম। আমি বিভিন্ন ফাইলের ধরণের যেমন টেস্ট.পি, টেস্ট.জেএস, ইত্যাদি যাচাই করতে চাইতে পারি my তুমি আমাকে বলো? @ জেফশ্যাচলার
কেম এক্স

ইন php something.py, এটি সঠিকভাবে বলতে চাই যে phpএটি কমান্ডগুলি কার্যকর করছে something.py; একইভাবে, যদি কোনও প্রক্রিয়া থাকে sed /something/ test.php, sedকার্যকর হয় - test.php কার্যকর হয় না being বিভিন্ন ধরণের স্ক্রিপ্টগুলি সরাসরি ( /path/to/test.php) চালানো যেতে পারে , তাই আপনি কী পরিস্থিতি সন্ধান করছেন তা জানতে আগ্রহী ছিলাম।
জেফ শ্যাচলার

উত্তর:


1

চেষ্টা করুন pgrep:

pgrep -f test.php

এটি আপনার কমান্ডের পিআইডি আউটপুট দেবে।

বিকল্প:

ps aux | grep '[t]est\.php'

এটি এর সাথে সম্পর্কিত লাইন আউটপুট দেবে ps aux


এটি আসলে আমার সমাধান হয়ে উঠল। আমি আমার সমস্যাটি ওভারচিনিক করছিলাম সাহায্যের জন্য আপনাকে ধন্যবাদ
দ্য কেম এক্স

দ্রষ্টব্য যে এটি test.phpতাদের প্রক্রিয়া নামের যে কোনও জায়গায় থাকা প্রক্রিয়াগুলি ফিরিয়ে দেবে ; কিছু মিথ্যা পজিটিভ অন্তর্ভুক্ত /some/other/test.php/process-name arg1 arg2এবং sed /script/ test.php- তন্ন তন্ন করে নির্দেশ করে যে test.phpহয় নির্বাহ
জেফ শ্যাচলার

0

আর একটি বিকল্প কিল্লাল ব্যবহার করা হচ্ছে

killall -0 -q test.php && echo test.php is running

কমান্ডের নাম সত্ত্বেও, প্রক্রিয়াটি হত্যা করা হয় না।


0
#!/bin/sh
processname='login'
if [ "$(pgrep $processname)x" != "x" ]
then
    echo $processname is running
else
    echo $processname is NOT running
fi

একটি বিকল্প সংস্করণ যা প্রত্যাবর্তনের মানের চেয়ে প্রস্থান স্থিতি ব্যবহার করে এবং আরও কমপ্যাক্ট সিনট্যাক্স ব্যবহার করে

#!/bin/sh
processname='login'
pgrep $processname > /dev/null
test $? -eq 0 && echo "$processname is running" || echo "$processname is NOT running"

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