অ্যান্ড্রয়েডের একটি টার্মিনাল অ্যাপে, প্রবেশ করুন (রুট অ্যাক্সেসের প্রয়োজন):
su
am stop-user USER_ID
যেমন একটি অতিথি ব্যবহারকারী জন্য, তার USER_ID
আমার ডিভাইস রয়েছে 11
, যাতে কমান্ড হবে am stop-user 11
।
am stop-user
একাধিক ইনপুট প্রক্রিয়া করে না যাতে আপনি প্রতিটি মাধ্যমিক ব্যবহারকারীর জন্য কমান্ডটি কার্যকর করতে চান যা আপনি বিরতি দিতে চান।
এটি ডিভাইসটি পুনরায় চালু করার থেকে কিছুটা আলাদা। যদি আপনি am
এর ব্যবহার পরীক্ষা করেন তবে আপনি দেখতে পাবেন,
am stop-user: stop execution of USER_ID, not allowing it to run any code until a later explicit start or switch to it.
যেমনটি বলা হয়েছে, এটি সেই ব্যবহারকারীর অ্যাকাউন্টের সাথে সম্পর্কিত সমস্ত ক্রিয়াকলাপকে কেবল বিরতি দেয়, তাই যখনই স্পষ্টভাবে কোনও সূচনা বা স্যুইচ সরবরাহ করা হয় তখন আপনার সেশনটি স্ক্র্যাচ থেকে শুরু করার পরিবর্তে পুনরায় শুরু হবে।
ব্যবহারকারী সত্যই বিরতি দিয়েছে বা চলছে না তা নিশ্চিত করার জন্য, বর্তমানে এডিবি থেকে চলমান ব্যবহারকারীর নাম / আইডি কীভাবে সন্ধান করতে হয় তার জন্য আমার উত্তর দেখুন ?
সংক্ষেপে, pm list users
বা dumpsys activity
তোমাকে বলতে হবে কিনা ব্যবহারকারী RUNNING
বা SHUTDOWN
। পরের আদেশটি আরও ভাল। যদি ব্যবহারকারী-সেশনটি প্রকৃতপক্ষে থামানো হয় am stop-user
, আপনি mState=SHUTDOWN
সেই ব্যবহারকারীর জন্য দেখতে পাবেন । তবে, রিবুট করার পরেও যদি ব্যবহারকারী একবারে সক্রিয় না হয়ে থাকে তবে আপনি এর কোনও প্রবেশ দেখতে পাবেন না।
am stopuser 10
কেবলpm list users
কমান্ড প্রদর্শন করছে। আমিadb shell ps
পরে চেক করেছিam stop-user 10
এবংu10_axx
প্রক্রিয়াগুলি চলমান খুঁজে পেতে পারি । সেগুলি বন্ধ রয়েছে কিনা তা পরীক্ষা করতে আমি ২ য় ব্যবহারকারীর টার্মিনালে শেল স্ক্রিপ্ট চালানোর চেষ্টা করেছি। স্ক্রিপ্ট প্রতি সেকেন্ডে প্রতিধ্বনি বিবৃতি লুপ করে (দ্বিতীয় প্রদর্শন করে)। এই স্ক্রিপ্টটি শুরু করার পরে,am stop-user 10
কমান্ডটি ব্যবহার করে 5 মিনিটের জন্য অপেক্ষা করা এবং দ্বিতীয় ব্যবহারকারী সেশনটি পুনরায় শুরু করার পরে, আমি বলতে পারি যে স্ক্রিপ্টটি থামানো হয়নি। এটি পুরো সময়ের জন্য চালানো।