غير قادر على إنهاء وظيفة من دون فتحه
سؤال
وأنا تشغيل التعليمات البرمجية التالية دون جدوى
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 قد تجدها مفيدة. انها شيء على ما يعادل "انسحبت القوة".