আমি কীভাবে নোহপকে ~ / nohup.out ফাইলটি তৈরি করা থেকে আটকাতে পারি?


16

আমি $ nohup ...পটভূমিতে একটি অ্যাপ্লিকেশন শুরু করতে কমান্ডটি ব্যবহার করি যাতে আমি পরে টার্মিনাল উইন্ডোটি বন্ধ করতে পারি।

মৃত্যুদন্ড কার্যকর করার পরে এটি ফাইল তৈরি করে ~/nohup.out

উদাহরণ:

orschiro@x230:~$ nohup /bin/bash -c "sleep 15 && python3 /home/orschiro/bin/show_state.py"
nohup: ignoring input and appending output to 'nohup.out'

আমি কীভাবে nohupতৈরি হতে বাধা দিতে পারি nohup.out?


2
আপনিও বিবেচনা করতে পারেন byobu। :)
Andrea Lazzarotto

আপনাকে ধন্যবাদ, @ আন্দ্রে ল্যাজারোত্তো! আপনি কীভাবে এটি ব্যবহার করবেন আমাকে একটি উদাহরণ দিতে পারেন?
orschiro

2
ঠিক আছে, আমি আপনাকে এখানে ভিডিওটিতে নজর দেওয়ার পরামর্শ দিই: byobu.co মূলত, আপনি যা করতে চান তার জন্য আপনি কেবল চালান byobu, যা চান তা শুরু করুন, তারপরে টিপুন F6এবং আপনার কাজ শেষ হয়েছে done আপনি byobuআবার দৌড়ে এই ফিরে পেতে পারেন ।
অ্যান্ড্রিয়া লাজারোত্তো

অসাধারণ! আপনি এটি সরকারী উত্তর হিসাবে যুক্ত করতে চান?
orschiro

প্রযুক্তিগতভাবে, আমার পরামর্শটি আপনার প্রশ্নের কোনও উত্তর দেয় না, এটি কেবল একটি বিকল্প। : ডি
আন্দ্রেয়া লাজারোত্তো

উত্তর:


20

আপনি যে কোনও জায়গায় আউটপুট পুনর্নির্দেশ করতে পারেন, উদাহরণস্বরূপ:

nohup /bin/bash -c "sleep 15 && python3 /home/orschiro/bin/show_state.py" >/dev/null 2>&1

পুনঃনির্দেশ ডিফল্ট আউটপুট ফাইল nohup.outতৈরি হতে বাধা দেয় । /dev/nullবিস্মৃততা, সুতরাং যদি আপনি ডেটা একেবারে না চান, এটি সেখানে পাঠান।

ব্যাশে আপনি সংক্ষেপে >/dev/null 2>&1বলতে পারেন can&>/dev/null

প্রোগ্রামগুলির জন্য আমি প্রায়শই ব্যবহার করি উদাহরণস্বরূপ আমি একটি উপনাম তৈরি করি (এবং এটি আমার সাথে যুক্ত করি .bashrc)

alias show_state='nohup /bin/bash -c "sleep 15 && python3 /home/orschiro/bin/show_state.py" >/dev/null 2>&1'

এখন আমার টাইপ করতে হবে show_state


2
@ অরশিওরো: কয়েক বছর পরে এটি ক্রিপ্টিক হবে না এবং আপনি এটি মনে রাখবেন;) আমি এটির সাথে আটকে থাকার পরামর্শ দিচ্ছি, কারণ এটিকে দূরে রাখার অর্থ আপনি সেই অভিজ্ঞতা অর্জন করতে পারবেন না, এবং জেনে নিন যে কীভাবে পুনর্নির্দেশ অপারেটররা শীর্ষে কাজ করবে knowing আপনার মাথা একটি গুরুত্বপূর্ণ দক্ষতা।
মনিকার সাথে লাইটনেস রেস

এটি একটি ফাংশন হিসাবে ভাল করা হবে না? এরকম কিছু show_state () { /bin/bash -c "$@" &>/dev/null }? (সতর্কতা: দুর্বল বাক্য গঠন এবং সম্ভবত কাজ করবে না! এটি কেবল একটি উদাহরণ!)। একটি নিটপিক: show_stateআপনি যখন আউটপুট ফেলে দিচ্ছেন কেন nohup?
ইসমাইল মিগুয়েল

স্ক্রিপ্টটি @ ইসমাইল মিগুয়েল কী করে তা আমি জানি না তবে আমি ধরে নিয়েছি এটি স্ট্রেড করার জন্য "স্টেট" (এটি যাই হোক না কেন) মুদ্রণ করার জন্য ট্রে আইকন সহ একটি সূচক। অবশ্যই, কোনও ফাংশন একটি
উপামের

ওহ, আমি পেয়েছি! দুঃখিত, .pyফাইলটির নাম দেখেনি । এবং হ্যাঁ, একটি ফাংশন আরও মজাদার। আমি একটি ডেবিয়ান ডেস্কটপে এই খারাপভাবে লিখিত ফাংশন আছে: shutup() { source "$@" >/dev/null 2>&1 & }। এবং এটি কাজ করে। আপনি অনুরূপ কিছু পরামর্শ দিতে পারে, কিন্তু অনেক ভাল?
ইসমাইল মিগুয়েল

আমি কখনই জানতাম না যে এটি &>কাজ করেছে (এবং আমার মনে হয় এটি ব্যাকগ্রাউন্ড প্লাস stdout পুনর্নির্দেশের মতো দেখাচ্ছে)। আমি সবসময় এটি হিসাবে শিখেছি >&। এটা কি স্ট্যান্ডার্ড?
র্যান্ডম 832
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.