ওএসএক্স - "প্রস্থান" কমান্ড কার্যকর হওয়ার পরে কীভাবে টার্মিনাল উইন্ডোটি বন্ধ করবেন।


104

আমি যখন টার্মিনালটি সম্পন্ন করি তখন আমি এটি থেকে প্রস্থান করতে চাই। এখনই, আমার কাছে তিনটি বিকল্প রয়েছে:

  1. কিল্লাল টার্মিনাল এটি প্রক্রিয়াটি শেষ করবে, তবে হঠাৎ করে। আমি মনে করি না এটি সেরা ধারণা।

  2. কল প্রস্থান আমি সেটিংস পরিবর্তন করেছি তাই প্রস্থানটি টার্মিনালটি বন্ধ করে দেয়। অ্যাপ্লিকেশনটি এখনও ডকে খোলা আছে এবং আমি যা করতে চাই তা করে না।

  3. ডান ক্লিক করুন> প্রস্থান করুন। তবে এটি থেকে বেরিয়ে আসার জন্য এটি কোনও টার্মিনাল কমান্ড নয়।

সুতরাং এখন, টার্মিনালটি আমার প্রস্থান এবং বন্ধ করার উপায় কী? আমি ওসাস্ক্রিপ্ট সম্পর্কে কিছু শুনেছি কিন্তু আমি খুব নিশ্চিত নই। আমি প্রস্থান এবং বন্ধ করতে চাই, যাতে উইন্ডো এবং প্রক্রিয়া হিসাবে টার্মিনাল আর খোলা থাকে না।


পছন্দ করুন kill, killallপাঠাতে ডিফল্ট SIGTERM, যা ধরা যায়। কিছু প্রোগ্রাম এটিকে ধরা দেয়, নিজের পরে পরিষ্কার হয়ে যায় এবং মনোনিবেশ করে প্রস্থান করে। Terminal.appতাদের মধ্যে কিনা তা ধারণা নেই । তবে আমি সন্দেহ করি যে চিমটিটিতে ভিন্ন ভিন্ন বা সুপার ব্যবহারকারীর কাছে এটি আরও ভাল হবে কারণ এতে কোনও প্রোগ্রামিং সামগ্রী নেই বলে মনে হয় content
ডিএমকেকে --- প্রাক্তন মডারেটর বিড়ালছানা

1
আমি মনে করি এই প্রশ্নটি আরও ভাল করে অঙ্কিত হবে "শেষ শেলটি বের হওয়ার পরে টার্মিনালটি কীভাবে প্রস্থান করবেন?"
ক্রিস পৃষ্ঠা

উত্তর:


194

টার্মিনাল.এপ এ

পছন্দসমূহ> প্রোফাইল> (একটি প্রোফাইল নির্বাচন করুন)> শেল।

'শেলটি প্রস্থান করলে' উইন্ডোটি বন্ধ করুন '' বেছে নিন


@ প্রভু কনছদা খুব ভয়ঙ্কর হতে পারতেন না যদি আপনি সেই জায়গাটি ব্যবহারকারীর আউটপুট খাওয়ানোর জন্য ব্যবহার করতে চান তবে অন্যথায় ইনসানিকভের উত্তর আমার পক্ষে চুপচাপ করে দিত
ফ্র্যাঙ্কেন্মিন্ট

সুস্পষ্ট এবং পরিষ্কার, নিখুঁত।
aydinugur

12
ওএস এক্স এর নতুন সংস্করণগুলিতে এই পছন্দটি 'পছন্দসমূহ> প্রোফাইল> (প্রোফাইল নির্বাচন করুন)> শেলের অধীনে পাওয়া যাবে।
এক্সট্রাস্পিলিটি

আপনি আরও এবং ধাপে ধাপে পদক্ষেপের তথ্যের জন্য লিঙ্কটি ব্যবহার করতে পারেন cnet.com/news/terminal-tip-close-windows- after
কৃষ্ণ কুমার

1
আপনি সমস্ত প্রোফাইল নির্বাচন করতে পারেন এবং একবারে সকলকে পরিবর্তন করতে পারেন।

31

ভাল পুরানো কমান্ড-কি সম্পর্কে?


তিনি কমান্ড কিউ মানে না কি এটি একটি ভাল পদ্ধতি যদিও? এটি আমার কাছে কিল্লাল থেকে আলাদা নয় seems
darksteel

@ দার্কস্টিল: ম্যাকের কোনও অ্যাপ বন্ধ করার উপযুক্ত উপায় হ'ল কমান্ড-কিউ। অ্যাপ্লিকেশনটি পরিষ্কারভাবে শেষ করতে বলা হওয়ার পরে কিল্লাল করা সম্ভবত ঠিক আছে।
tomlogic

2
হ্যাঁ আমি "কমান্ড" টাইপ করতে চাইছিলাম তবে এটি Ctrl হিসাবে প্রকাশ পেয়েছে। আমি বলতে চাই এটি পিইবিএএফএফের একটি মামলা (মস্তিষ্ক এবং আঙ্গুলের মধ্যে সমস্যা রয়েছে)।
পবিত্র গীত

সাধারণত কোনও অ্যাপ্লিকেশন বন্ধ করার জন্য কিল / কিল্লাল ভাল উপায় নয়। এটি সংরক্ষিত না থাকা অবস্থা বাতিল করতে পারে বা এমন অবস্থা সংরক্ষণ করতে পারে যা আপনি যদি প্রস্থান না করেন তবে অ্যাপ্লিকেশনটি কেমন দেখাচ্ছে তা সঠিকভাবে প্রতিফলিত করে না। ম্যাক ওএস এক্স-এর একটি "হঠাৎ সমাপ্তি" বৈশিষ্ট্য রয়েছে যেখানে প্রোগ্রামগুলি যখন তাদের এমন অবস্থায় থাকতে পারে যেখানে তাদের হত্যা করা নিরাপদ হয় (বাস্তবে সিগ্কিল দিয়ে), এবং যদি আপনি কার্যকলাপের মনিটরের সাথে টার্মিনালের অবস্থাটি যাচাই করে পরীক্ষা করে থাকেন এটি প্রথমে হত্যা করা নিরাপদ ("হঠাৎ সমাপ্তি" কলামটি দেখান এবং "হ্যাঁ" সন্ধান করুন), আপনি তখন এটি করতে পারেন তবে আপনি সহজেই সেই কর্মপ্রবাহটি স্বয়ংক্রিয় করতে পারবেন না।
ক্রিস পেজ

প্রস্থান করার পরে আমরা সর্বদা কমান্ড-কি ব্যবহার করতে পারি, যা সমস্ত প্রক্রিয়াটি বন্ধ করে দেয় এবং তারপরে টার্মিনালটি বন্ধ করে দেয়।
অপ্টিমাস প্রাইম

29

টার্মিনাল অ্যাপ্লিকেশন, পছন্দ >> প্রোফাইল ট্যাবে tab

ডানদিকে শেল ট্যাব নির্বাচন করুন । এখানে চিত্র বর্ণনা লিখুন

সতর্কতা দমন করতে আপনি বন্ধ করার আগে কখনই জিজ্ঞাসা করবেন না চয়ন করতে পারেন ।


5
আমি When shell exits:"উইন্ডোটি বন্ধ করুন" দিয়ে এটি অর্জন করেছি
অনুপ

1
"কখনই নয়" বাছাই করে এই উত্তরটি আমার পক্ষে কার্যকর হয়নি। তবে "উইন্ডোটি বন্ধ করুন" সম্পর্কে @ অনুপের মন্তব্য আমার পক্ষে কৌশলটি করেছে।
আলটিমেটার

12

আসলে, আপনার টার্মিনালটিতে আপনার একটি কনফিগার সেট করা উচিত, যখন আপনার টার্মিনালটি + টিপুন ,তবে আপনি নীচের স্ক্রিনটি দেখতে পাবেন:

এখানে চিত্র বর্ণনা লিখুন

তারপরে শেল ট্যাব টিপুন এবং আপনি নীচের স্ক্রিনটি দেখতে পাবেন:

এখানে চিত্র বর্ণনা লিখুন

এখন শেলটি প্রস্থান করারClose if the shell exited cleanly জন্য নির্বাচন করুন ।

উপরের কনফিগারেশনের মাধ্যমে প্রতিবার exitকমান্ড সহ টার্মিনালটি বন্ধ হয়ে যাবে তবে প্রস্থান করবে না।


10

আপনি osascriptকমান্ডের মাধ্যমে অ্যাপলস্ক্রিপ্ট ব্যবহার করতে পারেন :

osascript -e 'tell application "Terminal" to quit'

আমি ওসাস্ক্রিপ্ট কমান্ড চেষ্টা করে দেখিনি, তবে এর সাথে আমার দুটি সমস্যা রয়েছে: ১. কমান্ডটি ছাড়ার অপেক্ষা রাখে না। এটি সহজ হওয়া উচিত নয়? আমি উইন্ডোজটিতে পছন্দ করি কীভাবে প্রস্থানটি কমান্ড প্রম্পটকে সমাপ্ত করে। ২. এটি এখনও আমাকে টার্মিনাল ছাড়তে অনুরোধ করে। আমি এটি কেবল গতি দিয়ে যেতে চান। একটি উইন্ডো এসে জিজ্ঞাসা করল আমি সত্যই ছেড়ে দিতে চাই কিনা।
darksteel

1
@ দার্কস্টিল: ১. আপনার .bashrc(বা অন্য কোনও শেল ব্যবহার করলে সমতুল্য) একটি উপনাম যুক্ত করুন । আমি এখনও 2. একটি উত্তর চিন্তা করছি
icktoofay

আমি ভাবছি কমান্ড কিউ সবচেয়ে ভাল কাজ করে। তবে আমি কীভাবে আগ্রহী যে কীভাবে একটি উপনাম সঠিকভাবে সেটআপ করতে পারি। "পিং গুগল ডট কম" এর মতো কয়েকটি কমান্ড রয়েছে যা আমি প্রায়শই যথেষ্ট করি যে আমি কোনও উপাধি পছন্দ করতে পারি।
darksteel

@ দার্কস্টিল: এটি একেবারে ওভারথিংক করার উপায়, তবে ২ প্রতিরোধের জন্য, আপনি একটি ডিমনাইজড প্রক্রিয়া শুরু করতে পারেন যা এক সেকেন্ডের মতো ঘুমায় এবং তারপরে exitডিমনাইজড প্রক্রিয়া শুরু করার পরে। ডিমনাইজড প্রক্রিয়াটি একটি দ্বিতীয় অপেক্ষা করার পরে, এটি osascriptবর্ণিত হিসাবে কল করতে পারে ।
একটুফে

@darksteel: আপনি মাধ্যমে একটি কী টেপার আরম্ভ করতে পারবেন osascript: tell application "System Events" to keystroke "a" using command down। এটি সম্ভবত, যদিও সমস্যা হবে।
অিক্টোফায়

9

একটি টার্মিনাল উইন্ডোতে, আপনি টাইপ করতে পারেন:

kill -9 $(ps -p $PPID -o ppid=)

এটি টার্মিনাল অ্যাপ্লিকেশন প্রক্রিয়াটিকে হত্যা করবে, যা বর্তমান প্রক্রিয়ার পিতামাতার, হত্যার আদেশ দ্বারা দেখা গেছে।

একটি চলমান স্ক্রিপ্টের মধ্যে থেকে একটি টার্মিনাল উইন্ডোটি বন্ধ করতে, আপনাকে প্রক্রিয়াক্রমিক স্তরক্রমের মতো আরও একটি স্তর উপরে যেতে হবে:

kill -9 $(ps -p $(ps -p $PPID -o ppid=) -o ppid=) 

7
এফওয়াইআই, এই সমাধানটি অন্যান্য টার্মিনাল উইন্ডোগুলিকেও হত্যা করে।
tresf

এবং যদি না kill -9আপনি জানেন অন্য সংকেতগুলি কাজ করে না তবে ব্যবহার করবেন না।
ট্রিপল

9

আমি ব্যবহার করছি ctrl + d। এটি আপনাকে সেই গন্তব্যে ফেলে দেয় যেখানে আপনি sqlite3 কমান্ডটি প্রথম স্থানে শুরু করেছিলেন।


5

osascript -e "tell application \"System Events\" to keystroke \"w\" using command down"

এটি একটি CMD+ অনুকরণ করেw কিপ্রেস ।

আপনি যদি টার্মিনালটি পুরোপুরি ছেড়ে দিতে চান তবে আপনি এটি ব্যবহার করতে পারেন: osascript -e "tell application \"System Events\" to keystroke \"q\" using command down"

এটি কোনও ত্রুটি দেয় না এবং টার্মিনালটি পরিষ্কারভাবে বন্ধ করে দেয়।


4

আপনি এই সংশ্লেষিত কমান্ডটিও ব্যবহার করতে পারেন, যা এটির নিজস্ব প্রক্রিয়াটি বন্ধ করার বিষয়ে কোনও সতর্কতা ট্রিগার করে না:
osascript -e "do shell script \"osascript -e \\\"tell application \\\\\\\"Terminal\\\\\\\" to quit\\\" &> /dev/null &\""; exit

এই কমান্ডটি বেশ দীর্ঘ, সুতরাং আপনি quitআপনার ব্যাশ প্রোফাইলে একটি উপনাম (যেমন ) নির্ধারণ করতে পারেন :
alias quit='osascript -e "do shell script \"osascript -e \\\"tell application \\\\\\\"Terminal\\\\\\\" to quit\\\" &> /dev/null &\""; exit'

এটি আপনাকে quitঅন্য কোনও সেটিংসের সাথে ঝাঁকুনিতে না ফেলে কেবল টার্মিনালে টাইপ করতে দেয় ।


2

osascriptঅ্যাক্টোফায় উল্লিখিত হিসাবে আপনার কোডে কমান্ডটি ব্যবহার করুন :osascript -e 'tell application "Terminal" to quit'

তারপরে, টার্মিনাল পছন্দগুলি খুলুন, সেটিংস> শেল এ যান এবং "বন্ধ করার আগে প্রম্পট:" "কখনই নয়" সেট করুন। টার্মিনালটি এখন পুরোপুরি ছেড়ে দেওয়া উচিত (আপনার ডকের সামনে খোলা থাকবে না) এবং প্রস্থান ছাড়ার আগে প্রম্পটটি উপেক্ষা করা উচিত। আপনার যদি কেবল একটি টার্মিনাল উইন্ডো খোলা থাকে এবংosascript কমান্ডটি আপনার কোডের শেষ লাইন হয় তবে আপনি যে কমান্ডটি শেষ করতে আগে দৌড়েছিলেন তা অপেক্ষা করা উচিত।

আপনি যদি একই উইন্ডোতে বা অন্যান্য উইন্ডোজে ব্যাকগ্রাউন্ডে স্ক্রিপ্টগুলি চালাচ্ছেন তবে এটি আদর্শ হবে না (উদাহরণস্বরূপ, আপনি ব্যাকগ্রাউন্ডে একটি কমান্ড চালাতে পারেন এবং প্রথম কমান্ডটি যদি অ্যাম্পারস্যান্ড অনুসরণ করে থাকে তবে অন্যান্য কমান্ডের জন্য বর্তমান উইন্ডোটি ব্যবহার করা চালিয়ে যেতে পারেন ); সতর্ক হোন!

আপনি যদি osascriptশেল স্ক্রিপ্ট ফাইলে কোডটি মোড়ানো থাকেন তবে আপনি সম্ভবত যেটিকেই এটি দিয়ে যাবেন না কেন এটি কল করতে পারেন --- যতক্ষণ না এটি টার্মিনালের অনুসন্ধানের পথে রয়েছে ( echo $PATHটার্মিনাল যেখানে স্ক্রিপ্টগুলির সন্ধান করে তা দেখার জন্য)।


1

একটি স্ক্রিপ্ট তৈরি করুন:

cat ~/exit.scpt

এটার মত:

  • দ্রষ্টব্য: যদি কেবল একটি উইন্ডো থাকে তবে কেবল অ্যাপ্লিকেশনটি command + wবন্ধ করুন , অন্যথায় ট্যাবটি বন্ধ করার জন্য অনুকরণ করুন )

tell application "Terminal" set WindowNum to get window count if WindowNum = 1 then quit else tell application "System Events" to keystroke "w" using command down end if end tell

তারপরে আপনার * সংক্ষিপ্তসারগুলিতে একটি উপনাম যুক্ত করুন

ঠিক যেমন vi ~/.bashrcবা zshrc(অন্য কিছু?)

এটি যুক্ত করুন: alias exit="osascript ~/exit.scpt"

এবং source / .bashrc উত্স করুন বা আপনার টার্মিনাল.্যাপ পুনরায় খুলুন


0

আমি ব্যবহার করছি

টার্মিনাল ছেড়ে দিন

আমার স্ক্রিপ্টগুলির শেষে। আপনার পছন্দগুলি কখনই প্রম্পট না করার জন্য টার্মিনাল সেট করতে হবে

সুতরাং টার্মিনাল> পছন্দসমূহ> সেটিংস> শেল যখন শেলটি প্রস্থান হয় তখন উইন্ডোটি বন্ধ করুন কখনই বন্ধ হবে না


0

আমি এখানে উত্তরগুলির বিভিন্ন প্রকারের চেষ্টা করেছি। আমি যতই চেষ্টা করি না কেন, আমি সর্বদা একটি ব্যবহারের সন্ধান করতে পারি যেখানে ব্যবহারকারীকে টার্মিনালটি বন্ধ করার অনুরোধ জানানো হয়।

যেহেতু আমার স্ক্রিপ্টটি একটি সাধারণ ( drutil -drive 2 tray open- একটি নির্দিষ্ট ডিভিডি ড্রাইভ খোলার জন্য), ব্যবহারকারী তা করেন না স্ক্রিপ্টটি চলার সময় টার্মিনাল উইন্ডোটি দেখার দরকার ।

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

আমি আমার স্ক্রিপ্টটিকে একটি অ্যাপে রূপান্তর করতে এই নির্দেশাবলী অনুসরণ করেছি: https://superuser.com/a/1354541/162011


-3

এটি যদি আপনি ম্যাক হন তবে 'প্রস্থান' টাইপ করুন রিটার্ন টিপুন।

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