سؤال

فعلت التالية:

nohup find / &

rm nohup.out

الغريب nohup -القيادة استمرت في تشغيل.أنا ينتظر جديد الملف الذي تم إنشاؤه.بالنسبة لي مفاجأة لم يكن هناك مثل هذا الملف.حيث لم المعياري الأمر الذهاب ؟

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

المحلول

إزالة ملف في يونيكس يفعل شيئين:

  • يزيل إدخال الدليل لذلك.
  • إذا لم يكن لدى أي عمليات مفتوحة ولا تشير أي إدخالات دليل أخرى إلى ذلك (روابط صلبة)، فهي تطلق المساحة.

ستواصل عملية No'uppled الخاصة بك بكل سرور الكتابة إلى الملف الذي كان يسمى Nohup.out، ولكن يعرف الآن أنه لا شيء سوى واصف الملفات ضمن هذه العملية.

يمكنك حتى الحصول على عملية أخرى إنشاء Nohup.out، لن تتداخل مع الأول.

عند رحيل جميع الروابط الصلبة، وكل العمليات التي أغلقتها، سيتم استرداد مساحة القرص.

نصائح أخرى

إذا كنت سوف تحذف nohup.out ملف، سيتم فقد المقبض وسوف يكتب فقط على واصف الملف ولكن إذا كنت ترغب في تنظيف nohup.out ملف ثم تشغيل هذا فقط

true > nohup.out

سوف يحذف محتويات الملف ولكن ليس الملف.

هذا هو معيار السلوك على Unix.

عند إزالة ملف الحلقة الأخيرة في نظام الملفات تم إزالتها ولكن الملف ما زال مفتوحا وبالتالي إخراج find (في هذه الحالة) كانت مكتوبة إلى القرص كتل في نواة تجمع المخزن المؤقت ، وربما حتى إلى القرص.ولكن الملف لا اسم.عندما find وخرجت ، أي عملية أو ملف (inode) المشار إليها الملف ، لذا الفضاء صدر.هذا هو أحد السبل التي الملفات المؤقتة التي سوف تختفي عند إنهاء البرنامج يتم إنشاء طريق فتح الملف ومن ثم إزالته.(هذا يعني أنك لا تحتاج إلى اسم الملف.ومن الواضح أنه إذا كنت في حاجة الى اسم مؤقت, هذه التقنية لن تعمل.)

cat /dev/null > nohup.out

من هنا

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