සියල්ලට කළින්; ඔබ ක්රියාවලියක් ආරම්භ කළ පසු, ඔබට එය නැවත නැවැත්වීමෙන් (පහර Ctrl- Z) පසුව bg
පසුබිමෙහි නැවත ආරම්භ කිරීමට ඉඩ දෙන්න. එය දැන් "රැකියාවක්" වන අතර, එහි stdout
/ stderr
/ stdin
තවමත් ඔබගේ පර්යන්තයට සම්බන්ධ වේ.
එහි අවසානයට "&" එකතු කිරීමෙන් ඔබට පසුබිමක් ඇති ක්රියාවලියක් වහාම ආරම්භ කළ හැකිය:
firefox &
නිශ්ශබ්ද වූ පසුබිමක එය ක්රියාත්මක කිරීමට, මෙය භාවිතා කරන්න:
firefox </dev/null &>/dev/null &
අමතර තොරතුරු කිහිපයක්:
nohup
ඔබේ යෙදුම ක්රියාත්මක කිරීම සඳහා ඔබට භාවිතා කළ හැකි වැඩසටහනක් වන අතර ඒ වෙනුවට එහි stdout / stderr ගොනුවකට යැවිය හැකි අතර මව් පිටපත වසා දැමීමෙන් දරුවාට දැනෙන්නේ නැත. කෙසේ වෙතත්, ඔබ යෙදුම ආරම්භ කිරීමට පෙර එය භාවිතා කිරීමට දුරදක්නා නුවණ තිබිය යුතුය. nohup
ක්රියා කරන ආකාරය නිසා , ඔබට එය ක්රියාත්මක වන ක්රියාවලියකට යෙදවිය නොහැක.
disown
යනු ෂෙල්ගේ රැකියා ලැයිස්තුවෙන් ෂෙල් රැකියාවක් ඉවත් කරන බාෂ් බිල්ඩින් ය. කුමක්ද මේ මූලික වශයෙන් අදහස් වන්නේ ඔබ භාවිතා කළ හැකි, නොවේ fg
, bg
වඩා වැදගත් තවදුරටත් එය මත, නමුත්, එය එල්ලා නැහැ යැවිය යුතු හෝ ඔබ ඔබේ ෂෙල් වසා දැමූ විට SIGHUP
එම දරුවා වෙත තවදුරටත්. මෙන් නොව nohup
, ක්රියාවලිය දියත් කර පසුබිම් කිරීමෙන් පසුවdisown
භාවිතා වේ.
ඔබට කළ නොහැකි දෙය නම් ක්රියාවලියක් දියත් කිරීමෙන් පසු එහි stdout / stderr / stdin වෙනස් කිරීමයි. අවම වශයෙන් කවචයෙන් නොවේ. ඔබ ඔබේ ක්රියාවලිය දියත් කර එහි stdout ඔබේ පර්යන්තය බව පැවසුවහොත් (ඔබ පෙරනිමියෙන් කරන්නේ එයයි), එවිට එම ක්රියාවලිය ඔබේ පර්යන්තයට ප්රතිදානය කිරීමට වින්යාස කර ඇත. ක්රියාවලි වල FD සැකසුම සමඟ ඔබේ කවචයට ව්යාපාරයක් නොමැත, එය හුදෙක් ක්රියාවලියම කළමනාකරණය කරන දෙයකි. ක්රියාවලියටම එහි stdout / stderr / stdin වසා දැමිය යුතුද නැද්ද යන්න තීරණය කළ හැකිය, නමුත් එසේ කිරීමට බල කිරීම සඳහා ඔබේ කවචය භාවිතා කළ නොහැක.
පසුබිම් ක්රියාවලියක ප්රතිදානය කළමනාකරණය කිරීම සඳහා, ඔබට ස්ක්රිප්ට් වලින් විකල්ප රාශියක් ඇත, "නොහූප්" බොහෝ විට මතකයට එන්නේ. නමුත් අන්තර්ක්රියාකාරී ක්රියාවලීන් සඳහා ඔබ නිහ but කිරීමට අමතක කළත් ( firefox < /dev/null &>/dev/null &
) ඔබට බොහෝ දේ කළ නොහැක.
මම ඔබට GNU ලබා ගැනීමට නිර්දේශ කරමි screen
. ක්රියාවලියේ ප්රතිදානය කරදරයක් වූ විට තිරය සමඟ ඔබේ ධාවන කවචය වසා දමා නව එකක් විවෘත කළ හැකිය ( ^Ac
).
ඔහ්, සහ මාර්ගය වන විට, ඔබ එය භාවිතා කරන තැන " $@
" භාවිතා නොකරන්න.
$@
මාර්ගයෙන්, $1
, $2
, $3
..., ඔබගේ විධානය හැරී කරන,:
gnome-terminal -e "vim $1" "$2" "$3" ...
එය ඔබට අවශ්ය දේ නොවිය හැකි නිසා -e එක් තර්කයක් පමණක් ගනී . $1
ඔබගේ ස්ක්රිප්ටයට හැසිරවිය හැක්කේ එක් තර්කයක් පමණක් බව පෙන්වීමට භාවිතා කරන්න .
ඔබ ලබා දුන් තත්වය තුළ (සමඟ gnome-terminal -e
) බහුවිධ තර්ක නිසියාකාරව ක්රියාත්මක කිරීම ඇත්තෙන්ම දුෂ්කර ය, මන්ද -e
එය එක් තර්කයක් පමණක් ගන්නා අතර එය ෂෙල් විධාන නූලකි. ඔබට ඔබේ තර්ක එකකට කේතනය කිරීමට සිදුවේ. හොඳම හා වඩාත්ම ශක්තිමත්, නමුත් තරමක් හුරුබුහුටි, මාර්ගය එසේ ය:
gnome-terminal -e "vim $(printf "%q " "$@")"