উত্তর:
অ্যান্ড্রয়েড প্রতিটি অ্যাপ্লিকেশনকে ইনস্টল করার সময় একটি ইউআইডি (ব্যবহারকারী আইডি) বরাদ্দ করে; পিআইডি (প্রসেস আইডি) এর বিপরীতে যা ক্ষণস্থায়ী এবং সর্বদা পরিবর্তন করে চলে, ইউআইডি ততক্ষণ স্থির থাকে যতক্ষণ না অ্যাপ্লিকেশনটি পুনরায় ইনস্টল না করা হয়। ইউআইডি প্রতিটি অ্যাপ্লিকেশনের জন্যই স্বতন্ত্র হওয়া উচিত, যখন অ্যাপ্লিকেশনটি স্পষ্টভাবে অন্য কোনও অ্যাপ্লিকেশনটির সাথে কোনও ইউজারআইডি ভাগ করার অনুরোধ করে (এই চারপাশে সুরক্ষা বিধিনিষেধ রয়েছে, দুটি অ্যাপ্লিকেশনকে অবশ্যই একই বেসরকারী কীতে স্বাক্ষর করতে হবে, অর্থাত্ একই বিকাশকারী থেকে আসে) except
এই অ্যাপ্লিকেশনগুলি অ্যাপ্লিকেশনগুলির ইউআইডি দেখানোর দাবি করে:
সম্পাদনা করুন:
দেখার চেষ্টা করুন /data/system/packages.xml
(এই ফাইলটি দেখতে আপনাকে রুট প্রয়োজন), প্রতিটি ইনস্টল করা অ্যাপ্লিকেশনটির সেখানে প্রবেশ হওয়া উচিত। বলুন, আমি আমার ফোনে অ্যাডোব রিডার ইনস্টল করেছি:
<package name="com.adobe.reader" codePath="/mnt/asec/com.adobe.reader-1/pkg.apk" flags="262144" ts="1300539048000" version="37149" userId="10034" installer="com.google.android.feedback">
<sigs count="1">
<cert index="21" key="... very long random string ..." />
</sigs>
<perms />
</package>
আমার ফোনটি userId="10034"
অ্যাডোব রিডারকে দেওয়া হয়েছে।
যে অ্যাপ্লিকেশনগুলিতে অন্য অ্যাপ্লিকেশনটির সাথে ব্যবহারকারীর আইডি ভাগ করে নেওয়ার জন্য অনুরোধ করেছে তাদের জন্য হ্যান্ডসেন্ট বলুন:
<package name="com.handcent.nextsms" codePath="/system/app/HandcentSMS.apk" flags="1" ts="1217592000000" version="373" sharedUserId="10064">
<sigs count="1">
<cert index="17" key="... very long random string ..." />
</sigs>
</package>
তারপরে আপনি যে বৈশিষ্ট্যটি সন্ধান করছেন তা হ'ল sharedUserId="10064"
একটি পিসিতে অ্যাডবি সেট আপ করুন , পিসিতে ডিভাইসটি সংযুক্ত করুন, পিসিতে একটি শেল চালু করুন এবং প্রবেশ করুন:
adb shell "dumpsys package | grep -A1 'userId=UID'"
UID
আপনি যে আইডিটি সন্ধান করছেন তাতে প্রতিস্থাপন করুন , যেমন 10102।
উদাহরণ:
bash-4.2 # adb শেল "ডাম্পসিস প্যাকেজ | গ্রেপ -A1 'ইউজারআইডি = 10102'" আইডি = 10102 pkg = প্যাকেজ {46171ce com.android.chrome } ব্যাশ-4.2 #
এতে থাকা লাইনটি Package{
হোয়াইটস্পেস এবং এর মধ্যে অ্যাপ্লিকেশনটির প্যাকেজের নামটি দেখায় }
। সেই প্যাকেজ / অ্যাপ্লিকেশন সম্পর্কে আরও বিশদ জানতে আপনি adb shell dumpsys package PKG_NAME
( PKG_NAME
app কোনও অ্যাপের প্যাকেজের নাম) করতে পারেন।
অ্যান্ড্রয়েডটি যদি অ্যাডবি শেল বা টার্মিনাল এমুলেটর অ্যাপ থেকে শুরু করে থাকে তবে আপনি এটি করতে পারেন:
su কমান্ড বিড়াল / ডেটা / সিস্টেম / প্যাকেজ.লিস্ট | গ্রেপ ইউআইডি
আউটপুটে, ইউআইডি-র আগে যে কোনও কিছুই হ'ল প্যাকেজের নাম।
উদাহরণ:
শেল @ শামু: / $ su রুট @ শামু: / # বিড়াল / ডেটা / সিস্টেম / প্যাকেজ.লিস্ট | গ্রেপ 10102 com.android.chrome 10102 0 /data/data/com.android.chrome ডিফল্ট 3002,3003,3001 মূল @ শামু: / #
বিকল্পভাবে, যদি আপনি ব্যাসিবক্স বা টয়বক্স ইনস্টল করে থাকেন এবং PATH ভেরিয়েবলের অধীনে উপলব্ধ থাকেন তবে টার্মিনাল এমুলেটর বা অ্যাডবি শেল থেকে :
su কমান্ড সন্ধান করুন / ডেটা / ডেটা / টাইপ ডি-গ্রুপ ইউআইডি-ম্যাক্সডেপথ 1 | xargs বেস নাম
উদাহরণ:
শেল @ শামু: / $ su রুট @ শামু: / # সন্ধান / তথ্য / ডেটা /-গোষ্ঠী 10102 -প্রকার ডি-ম্যাক্সডেপথ 1 | xargs বেস নাম com.android.chrome মূল @ শামু: / #
যেহেতু আমরা অ্যাপ্লিকেশন এবং প্যাকেজের নাম লেবেল আগ্রহী, উত্তর সাথে এগিয়ে GAThrawn থেকে বা Izzy থেকে ।
একটি টার্মিনাল এমুলেটর ইনস্টল করুন , এটি চালু করুন এবং চালান:
ps | grep 10058
ps
grep
আপনি চান আইডিটির জন্য প্রক্রিয়াগুলি এবং ফিল্টারগুলি তালিকাভুক্ত করে ।
আপনি কেবল কমান্ডটি চালানোর সময় যদি অ্যাপ্লিকেশনটি চলমান থাকে তবে এটি কাজ করে।
এডিবি শেলটিতে (বা টার্মিনাল এমুলেটর) নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
cat /proc/<your_process_id_here>/status
এবং "নাম" ক্ষেত্রটি দেখুন। এটি প্রক্রিয়াটির নাম হওয়া উচিত। সুতরাং আপনার ক্ষেত্রে এটি " বিড়াল / প্রক / 10058 / স্থিতি " হবে
২০১৪ সাল থেকে অ্যান্ড্রয়েড .0.০, মোটো জি ২ য় জেনার সাথে আমারও একই সমস্যা ছিল I আমি ইএস ফাইল এক্সপ্লোরার অ্যাপ্লিকেশনটি আপগ্রেড করেছি এবং আমি লক্ষ্য করেছি যে এটি নরকের মতো ফুলে গেছে এবং প্রচুর পরিমাণে ব্যাটারি চুষছে। আমি সিস্টেম থেকে অ্যাপ্লিকেশনটি সরিয়েছি, তবে অ্যাপ্লিকেশনটি একটি জম্বি প্রক্রিয়াটিকে সিপিইউ গ্রহণ করতে দেয়। ইউআইডিটি আপনার 10118 এর মতো এবং এটি ব্যাটারির পরিসংখ্যানগুলিতে সর্বাধিক ক্ষুধার্ত সংস্থান প্রক্রিয়া হিসাবে তালিকাভুক্ত।
তারপরে আমি "ওএস মনিটর" নামে একটি অ্যাপ্লিকেশন ইনস্টল করেছি এবং লক্ষ্য করেছি যে একটি .esfm ফাইলটি কেবলমাত্র CPU এর 60% গ্রহণ করার প্রক্রিয়া। আমি তাত্ক্ষণিকভাবে জানতে পেরেছিলাম যে এটি ইএস ফাইল এক্সপ্লোরারের সাথে করা উচিত, তবে অপেক্ষা করুন ... আমি ইএস ফাইল এক্সপ্লোরারটি আনইনস্টল করেছি। হ্যাঁ. কেবলমাত্র আমি করিনি তা হ'ল স্মার্টফোনটি পুনরায় চালু করা। বিশ্বাস করুন, আমি পাগল জিনিসগুলি সম্পর্কে ভাবছিলাম, যেমন প্রক্রিয়াটি থেকে বেরিয়ে এসে বাজে কথা বলে, ফোনটি দেয়ালের বিপরীতে নিক্ষেপ করে এবং এমনকি বিশ্বাস করতে শুরু করে যে আমার ব্যাটারি জীবনের শেষ প্রান্তে পৌঁছেছে। আমার অবাক করার জন্য, আমি কেবল ফোনটি পুনরায় চালু করেছি এবং প্রক্রিয়াটি শেষ হয়ে গেছে।
তাই কোনও কঠোর পদক্ষেপ নেওয়ার আগে কোন অ্যাপটি আপনাকে খারাপ সময় দিচ্ছে তা বের করার চেষ্টা করুন, এটি আনইনস্টল করুন এবং তারপরে ফোনটি পুনরায় চালু করুন। ওএসে সিপিইউ ব্যবহারের তালিকাটি পরীক্ষা করুন এবং আপনার ভাল হওয়া উচিত।
চলমান প্রক্রিয়াগুলি, সিস্টেম অ্যাপ্লিকেশন এবং হার্ডওয়্যার সেন্সর সহ একটি রুট ফোনে ইউআইডি (বা গ্রুপআইডি) দ্বারা "সবকিছু" সন্ধান করতে :
# ID=3011; find / -group $ID -o -user $ID 2>/dev/null
# ID=3011; find / -group $ID -o -user $ID 2>/dev/null
/proc/208
/proc/208/task
/proc/208/task/208
/proc/208/task/208/attr
[...]
# ls -la /proc/208/exe
lrwxrwxrwx 1 root root 0 2017-04-04 22:14 /proc/208/exe -> /system/bin/sensors.qcom
# ID=10009; find / -group $ID -o -user $ID 2>/dev/null
/data/misc/profiles/cur/0/com.android.cellbroadcastreceiver
/data/misc/profiles/cur/0/com.android.cellbroadcastreceiver/primary.prof
/data/data/com.android.cellbroadcastreceiver
/data/data/com.android.cellbroadcastreceiver/cache
/data/data/com.android.cellbroadcastreceiver/code_cache
/data/user_de/0/com.android.cellbroadcastreceiver
/data/user_de/0/com.android.cellbroadcastreceiver/cache
/data/user_de/0/com.android.cellbroadcastreceiver/code_cache
/data/user_de/0/com.android.cellbroadcastreceiver/code_cache/com.android.opengl.shaders_cache
/data/user_de/0/com.android.cellbroadcastreceiver/shared_prefs
/data/user_de/0/com.android.cellbroadcastreceiver/shared_prefs/com.android.cellbroadcastreceiver_preferences.xml
/data/user_de/0/com.android.cellbroadcastreceiver/shared_prefs/_has_set_default_values.xml
/data/user_de/0/com.android.cellbroadcastreceiver/databases
/data/user_de/0/com.android.cellbroadcastreceiver/databases/cell_broadcasts.db
/data/user_de/0/com.android.cellbroadcastreceiver/databases/cell_broadcasts.db-journal
find /data/data/ -user UID -type d -maxdepth 1 | xargs basename
আপনি যদি প্রথমfind
কমান্ডে একাধিক ফলাফল পেয়ে থাকেন তবে ব্যবহার করুন ।