سؤال

وأنا تشغيل التعليمات البرمجية التالية دون جدوى

sudo killall %4

وحيث 4٪ هي جلسة فيم بلدي.

وكيف يمكن إنهاء مهمة دون foregrounding ذلك؟

هل كانت مفيدة؟

المحلول

وأعتقد أنك تريد "قتل" بدلا من "killall". اختبرت تحت إلى tcsh مثل هذا:

home% cat
^Z
Suspended
home% kill %1
home% 
[1]    Terminated                    cat

وعلاوة على ذلك، وأشك في هذا ستعمل مع سودو لسودو أن تحتج قذيفة جديدة، أليس كذلك؟ وفي تلك الصدفة، لن يعرف 4٪.

home% cat
^Z
Suspended
home% sudo kill %1
Password:
kill: illegal process id: %1

إذا كنت حقا بحاجة الى سودو، يمكنك أن تجرب هذا:

home% jobs -l
[1] + 26318 Suspended cat
home% sudo kill 26318

نصائح أخرى

وحاول kill %4 بدلا من ذلك. يستخدم يونكس قذيفة٪ س كمتغيرات عن العمليات الجارية حاليا. لرؤية العمليات التي يمكنك استخدامها مع بناء الجملة س٪، استخدم jobs. Killall هو التفاف حول "قتل" وهذا هو في الأساس ما يعادل `ملاحظة -aux | البقرى | قطع -d -f2 "" | xargs تقتل "أو ما شابه ذلك إذا كنت قذيفة المدمن.

لا، آسف، هذا الأمر قذيفة لن تعمل تماما، ولكنها لا توضح كيف يعمل killall = ص. ببساطة يقتل كل عملية ما في وسعها أن يطابق السلسلة التي تقدمها.

وأيضا، في محاولة `رجل قتل 'لمعرفة المزيد عن القتل. بشكل خاص، قتل -9 قد تجدها مفيدة. انها شيء على ما يعادل "انسحبت القوة".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top