নোহুপ: ইনপুট উপেক্ষা করে স্ট্ডারকে স্টাডাউটে পুনর্নির্দেশ করা


19

আমি nohupনীচে উল্লিখিত হিসাবে ব্যাকগ্রাউন্ডে আমার অ্যাপ্লিকেশন শুরু করছি -

root@phx5qa01c:/bezook# nohup java -jar ./exhibitor-1.5.1/lib/exhibitor-1.5.1-jar-with-dependencies.jar -c file --fsconfigdir /opt/exhibitor/conf --hostname phx5qa01c.phx.qa.host.com > exhibitor.out &
[1] 30781
root@phx5qa01c:/bezook# nohup: ignoring input and redirecting stderr to stdout

তবে যতবার আমি এই বার্তাটি দেখি -

nohup: ignoring input and redirecting stderr to stdout

এই বার্তাটি দেখলে কি কোনও সমস্যা হবে? এর অর্থ কী এবং আমি কীভাবে এড়াতে পারি?


2
আপনি চেষ্টা করেছেন:nohup java -jar blaa bla >/tmp/test.out 2>&1 &
রাহুল পাতিল

পরিবর্তে /tmp/test.outআমি ব্যবহার করতে পারেন ব্যবহার exhibitor.out। দুঃখিত বোবা প্রশ্ন জিজ্ঞাসা হিসাবে আমি চমত্কার এই জিনিস নতুন am .. জন্য
সহায়

হ্যাঁ .. আপনি ব্যবহার করতে পারেন .. এটি কেবল এসডিডি ত্রুটি / আউটপুট ফাইল। তবে অ্যাড করার পরে স্ট্যাটাস কী 2>&1?
রাহুল পাতিল

উত্তর:


20

আপনার অ্যাপ্লিকেশনটি এর টার্মিনাল থেকে বিচ্ছিন্ন হয়েছে তা নিশ্চিত করার জন্য - যাতে এটি অগ্রভূমি কমান্ডগুলিতে হস্তক্ষেপ না করে এবং আপনার লগআউট করার পরে চালিয়ে যেতে পারে - nohupএটি নিশ্চিত করে যে স্টিডিন বা স্টাডআউট বা স্টার্ডার কোনও একটি টার্মিনাল-জাতীয় ডিভাইস নয়। ডকুমেন্টেশন বর্ণনা কি পদক্ষেপ এটা লাগে:

যদি স্ট্যান্ডার্ড আউটপুটটি টার্মিনাল হয় তবে নামকৃত ইউটিলিটি দ্বারা স্ট্যান্ডার্ড আউটপুটে লেখা সমস্ত আউটপুট বর্তমান ডিরেক্টরিতে নোহআপ.আউট ফাইলের শেষে যুক্ত হবে। যদি nohup.out তৈরি করা বা সংযোজন করার জন্য খুলতে না পারে তবে আউটপুটটি নোমআপ.আউট ফাইলের শেষের দিকে হোম পরিবেশের ভেরিয়েবল দ্বারা নির্দিষ্ট ডিরেক্টরিটিতে সংযোজন করা হবে। যদি উভয়ই ফাইল তৈরি বা সংযোজনের জন্য খুলতে না পারে তবে ইউটিলিটিটি চাওয়া হবে না।

যদি স্ট্যান্ডার্ড ত্রুটিটি টার্মিনাল হয় তবে নামযুক্ত ইউটিলিটি দ্বারা এর স্ট্যান্ডার্ড ত্রুটিতে লেখা সমস্ত আউটপুট স্ট্যান্ডার্ড আউটপুট হিসাবে একই ফাইল বিবরণীতে পুনঃনির্দেশিত হবে।

আপনি > exhibitor.outআপনার কমান্ড লাইনে টাইপ করার সময় আপনি কোনও ফাইলে পুনঃনির্দেশিত করেছেন । আপনি যদি ঠিকঠাক হয়ে থাকেন যে আপনার অ্যাপ্লিকেশনটির স্টাডারকে তার স্টাডআউটের মতো একই ফাইলে ডাইরেক্ট করা হবে, আপনার আর কিছু করার দরকার নেই। অথবা আপনি স্টাডারকে একটি যুক্তি যুক্ত করে একটি আলাদা ফাইলে পুনর্নির্দেশ করতে পারেন 2> exhibitor.err। (অজানা ব্যবহারকারীর জন্য ধন্যবাদ - আমার বিজ্ঞপ্তিগুলির কোনও নাম দেখায়নি - এই বিকল্পকে অন্তর্ভুক্ত করার পরামর্শ দেওয়ার জন্য))


2
এছাড়া বন্ধ করতে ইনপুট নিজে তাই মত FD দরকারী: </dev/null; লিনাক্স স্বয়ংক্রিয়ভাবে এটি করবে, তবে ম্যানুয়ালি করা না হলে আপনি এখনও nohup: ignoring input
নোহুপের

17

আপনি যদি এইচডি ত্রুটিটি স্ট্যান্ড আউটপুটে পুনর্নির্দেশ করেন তবে আপনি বার্তাটি মুক্তি দিতে পারেন:

nohup java -jar ./exhibitor-1.5.1/lib/exhibitor-1.5.1-jar-with-dependencies.jar -c file --fsconfigdir /opt/exhibitor/conf --hostname phx5qa01c.phx.qa.host.com > exhibitor.out 2>&1 &

4

আমার পরিস্থিতিতে আমি stdout এবং stderr পুনঃনির্দেশ করি, তবে এটি লগ ফাইলে নিম্নলিখিতগুলিও প্রদর্শন করে:

nohup: ignoring input

সেই সতর্কতাটি সরাতে, আপনাকে নীচের মত স্টিডিন পুনর্নির্দেশ করতে হবে:

nohup java -jar ./exhibitor-1.5.1/lib/exhibitor-1.5.1-jar-with-dependencies.jar -c file --fsconfigdir /opt/exhibitor/conf --hostname phx5qa01c.phx.qa.host.com > exhibitor.out 2>&1  </dev/null &

আমি উত্তর পেয়েছি এই উত্তরটি অবশ্যই আপনার জন্য দেরী, তবে সম্ভবত এটি অন্যকে সহায়তা করবে।

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