تشغيل Lynx -Dump في الخلفية؟
-
06-09-2019 - |
سؤال
لدي سيناريو باش mystuff
تحتوي على خط مثل
lynx -dump http://example.com >tmpfile
والسيناريو يعمل بشكل جيد، بما في ذلك هذا الجزء، إلا عندما أقوم بتشغيلها غير تفاعلية:
$ ./mystuff &
[1] 3712
$ jobs
[1]+ Stopped
توقف الوظيفة. أجد أن الوشق هو الجاني. حتى تشغيل هذا الأمر مباشرة من موجه bash يؤدي إلى إيقاف المهمة على الفور:
$ lynx -dump http://example.com >tmpfile &
[1] 1836
$ jobs
[1]+ Stopped
لماذا لا تعمل Lynx في الخلفية؟ كيف يمكنني اصلاح هذا؟
تعديل:
أنا أستخدم Lynx لأنني لا أريد أن أضطر إلى تحليل HTML الخام. الفرق بين wget
و lynx -dump
هو أن الوشق سوف تجعل HTML؛ سوف يخفي جميع العلامات، وترتيب النص بشكل جيد، إلخ.
المحلول
يريد Lynx التحدث إلى المحطة الطرفية الخاصة بك، ولكن لا يمكن ذلك، بحيث يقوم به SIGSTP (مدخلات TTY) وينتظرك لدمج العملية.
كما قال MGB أعلاه: استخدم WGET. wget -O tmpfile http://example.com
يفعل الشيء نفسه ما تفعله مع الوشق أعلاه.
نصائح أخرى
ليس الجواب الذي ترتديه ولكن هل يمكنك فقط استخدام واهن في حين أن؟
على نظامي، يعمل الأمر Lynx الخاص بك كما هو. جرب هذا ونرى ما يحدث:
lynx -dump -term=xterm http://example.com >tmpfile &
لقد حظنا في تشغيل Lynx - Source http_setting: // أيا كان | باش.
تم تشغيل BASH حيث سمح BASH لعملية الخلفية بالتجاوز ببيانات اعتمادي الشخصية ولا تباقل TTY.