আমি কীভাবে কোনও প্রক্রিয়াটিকে পটভূমিতে স্থানান্তর করতে পারি এবং এর আউটপুটটিও নীরব করতে পারি?


11

বলুন আমি টার্মিনালে একটি প্রক্রিয়া শুরু করি এবং এটি চলাকালীন স্ট্যান্ডার্ড ত্রুটিতে আউটপুট প্রেরণ করে। আমি প্রক্রিয়াটিকে পটভূমিতে স্থানান্তর করতে এবং একই সাথে এটি নীরব করতে চাই।

সেখানে প্রক্রিয়া বাঁধন এবং এটি আবার ব্যবহার শুরু করেও এই কাজ করতে একটি উপায় আছে কি &এবং > /dev/null 2>&1? আমি ভাবছি যদি এমন কোনও কমান্ড থাকে যা কার্যকর করে bg এবং লক্ষ্য প্রক্রিয়াটির আউটপুট বর্ণনাকারীদেরও পরিবর্তন করতে পারে।

উত্তর:


9

অনেক দেরী। প্রক্রিয়া শুরু হওয়ার পরে , শেলটির প্রক্রিয়া ফাইল বর্ণনাকারীর উপর আর কোনও নিয়ন্ত্রণ থাকে না সুতরাং আপনি এটি শেল কমান্ড দ্বারা নিরব করতে পারবেন না ।

আপনি শুধুমাত্র করার চেষ্টা করতে পারেন বধ একটি SIGHUPপ্রক্রিয়া। যদি আপনার প্রক্রিয়াটি এটি সঠিকভাবে পরিচালনা করে তবে এটি টিটিআইকে নিয়ন্ত্রণ করা থেকে আলাদা করা উচিত । দুর্ভাগ্যক্রমে, অনেক সফ্টওয়্যার এটিকে সঠিকভাবে পরিচালনা করে না এবং কেবল মারা যায়।


প্রক্রিয়াটিকে ব্যাকগ্রাউন্ডে রাখতে আপনি কি CTRL + Z করতে পারবেন না? এটি প্রক্রিয়াটি নিরব করে না, এবং আপনি লগ আউট করলে, আমি মনে করি এটি প্রক্রিয়াটিকেও মেরে ফেলবে।
রায় রিকো

1
@ রায়রিকো, একটি প্রক্রিয়াতে একটি হত্যাSIGSTOP (বা আপনি যেমন সিটিআরএল + জেড হিসাবে বলছেন ) কোনও প্রক্রিয়া চুপ করে না। এটি একটি প্রক্রিয়া বন্ধ!
andcoz

5

টার্মিনাল থেকে যে প্রক্রিয়াটি চালিত হয় তার স্টিডিন, স্টডআউট এবং স্টেডার টার্মিনালের সাথে আবদ্ধ থাকে এবং আপনি সেই টার্মিনালের উপর পুনরায় নিয়ন্ত্রণ না নিয়ে এ সম্পর্কে কিছু করতে পারবেন না ... সাধারণত ly তবে কিছু কৌশলযুক্ত সরঞ্জাম রয়েছে যা আপনাকে এটি করতে দেয়। কটাক্ষপাত আছে এই উদাহরণে । এবং অন্যান্য প্রোগ্রাম যেমন rettyউল্লিখিত।


3

আমি andcoz এর সাথে একমত নই যে আউটপুটটি নিঃশব্দ করতে খুব দেরি হয়ে গেছে।

প্রক্রিয়াটি অগ্রভাগে চলছে বলে ধরে নেওয়া, প্রক্রিয়া Ctrl-Zস্থগিত করার জন্য ব্যবহার করুন । এটি করার ফলে কাজের নম্বর এবং প্রক্রিয়া আইডি রিপোর্ট হবে। আপনি bg %1(কাজ # 1 এর জন্য) ব্যবহার করে অগ্রসর হয়ে প্রক্রিয়াটিকে পটভূমিতে নিয়ে যেতে পারেন । যদিও এটি প্রক্রিয়াটিকে পটভূমিতে নিয়ে যায়, এটি আউটপুটটি নিঃশব্দ করে না। আউটপুট নিঃশব্দ করতে আপনি gdbসমস্ত আউটপুট এতে পুনর্নির্দেশ করতে ব্যবহার করতে পারেন /dev/null

এটি /programming/593724/redirect-stderr-stdout-of-a-process- after-its-been-start-used-command-lin/593764#593764 এ খুব সুন্দরভাবে বর্ণিত হয়েছে ।


0

তবুও আরেকটি কমান্ড-লাইন সরঞ্জাম detach। সর্বশেষতম সংস্করণ স্টিডিন, স্টডআউট এবং স্ট্ডারারের জন্য ফাইলগুলি ব্যবহার করে এবং অগ্রভাগে চলমান পিডফিলগুলি সমর্থন করে। (ওয়েবসাইটটি detachএকই ধরণের সরঞ্জামগুলি নিয়েও আলোচনা করে))

http://inglorion.net/software/detach/

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.