Are processes within screen treated differently from foreground processes? The 2019 Stack Overflow Developer Survey Results Are InHow can I see what processes are running?How do you detach the 2nd screen from within another screen?How are the processes in UNIX numbered?UNIX- Identify which processes are running more that 6hoursWhy there are two sequential screen processes?Send commands to screen within screenLeft and right square brackets treated differently by sed/bashWhy kernel threads are treated as processesWhat is background and Foreground processes in JobsReplace screen process from within screen
Can a rogue use sneak attack with weapons that have the thrown property even if they are not thrown?
How to notate time signature switching consistently every measure
What does Linus Torvalds mean when he says that Git "never ever" tracks a file?
Aging parents with no investments
Can one be advised by a professor who is very far away?
What do hard-Brexiteers want with respect to the Irish border?
Why was M87 targetted for the Event Horizon Telescope instead of Sagittarius A*?
If a Druid sees an animal’s corpse, can they Wild Shape into that animal?
Falsification in Math vs Science
What do the Banks children have against barley water?
slides for 30min~1hr skype tenure track application interview
How to support a colleague who finds meetings extremely tiring?
Did Scotland spend $250,000 for the slogan "Welcome to Scotland"?
Shouldn't "much" here be used instead of "more"?
One word riddle: Vowel in the middle
Why is the maximum length of OpenWrt’s root password 8 characters?
Is a "Democratic" Oligarchy-Style System Possible?
Are there incongruent pythagorean triangles with the same perimeter and same area?
Can you compress metal and what would be the consequences?
How can I autofill dates in Excel excluding Sunday?
Time travel alters history but people keep saying nothing's changed
Delete all lines which don't have n characters before delimiter
What tool would a Roman-age civilization have for the breaking of silver and other metals into dust?
Geography at the pixel level
Are processes within screen treated differently from foreground processes?
The 2019 Stack Overflow Developer Survey Results Are InHow can I see what processes are running?How do you detach the 2nd screen from within another screen?How are the processes in UNIX numbered?UNIX- Identify which processes are running more that 6hoursWhy there are two sequential screen processes?Send commands to screen within screenLeft and right square brackets treated differently by sed/bashWhy kernel threads are treated as processesWhat is background and Foreground processes in JobsReplace screen process from within screen
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
Assume I have a long running process, long_running_proc
with a single TCP connection to host host.example.com
.
Is that process treated differently, by the OS or the shell, when it's run as a foreground process vs background or behind screen
?
For instance:
~ long_running_proc --connect host.example.com
...
vs.
~ screen
~ long_running_proc --connect host.example.com
[ctrl-a] + d
~
vs.
~ long_running_proc --connect host.example.com &
[1] 67539
~
Are there different rules to process interruptions or context switches? Do they have a lower priority? Would I be more likely to get a TCP timeout with a screened/background process?
shell process gnu-screen background-process process-management
New contributor
add a comment |
Assume I have a long running process, long_running_proc
with a single TCP connection to host host.example.com
.
Is that process treated differently, by the OS or the shell, when it's run as a foreground process vs background or behind screen
?
For instance:
~ long_running_proc --connect host.example.com
...
vs.
~ screen
~ long_running_proc --connect host.example.com
[ctrl-a] + d
~
vs.
~ long_running_proc --connect host.example.com &
[1] 67539
~
Are there different rules to process interruptions or context switches? Do they have a lower priority? Would I be more likely to get a TCP timeout with a screened/background process?
shell process gnu-screen background-process process-management
New contributor
add a comment |
Assume I have a long running process, long_running_proc
with a single TCP connection to host host.example.com
.
Is that process treated differently, by the OS or the shell, when it's run as a foreground process vs background or behind screen
?
For instance:
~ long_running_proc --connect host.example.com
...
vs.
~ screen
~ long_running_proc --connect host.example.com
[ctrl-a] + d
~
vs.
~ long_running_proc --connect host.example.com &
[1] 67539
~
Are there different rules to process interruptions or context switches? Do they have a lower priority? Would I be more likely to get a TCP timeout with a screened/background process?
shell process gnu-screen background-process process-management
New contributor
Assume I have a long running process, long_running_proc
with a single TCP connection to host host.example.com
.
Is that process treated differently, by the OS or the shell, when it's run as a foreground process vs background or behind screen
?
For instance:
~ long_running_proc --connect host.example.com
...
vs.
~ screen
~ long_running_proc --connect host.example.com
[ctrl-a] + d
~
vs.
~ long_running_proc --connect host.example.com &
[1] 67539
~
Are there different rules to process interruptions or context switches? Do they have a lower priority? Would I be more likely to get a TCP timeout with a screened/background process?
shell process gnu-screen background-process process-management
shell process gnu-screen background-process process-management
New contributor
New contributor
New contributor
asked 2 days ago
JonLucaJonLuca
1034
1034
New contributor
New contributor
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
In general, by default the only difference is that it would receive a SIGTTIN (or SIGTTOU) signal if it tried to read (or write) the tty while being in the background.
Other differences as to priorities or higher context switches depend on your shell (or screen
) if it willingly does anything of that sort, such as changing the process’s “nice” number or maybe binding it to one particular CPU and if that CPU happens to be interrupted a lot. Normally shells don't do anything of this sort unless requested.
Higher probability of getting TCP timeouts might be related to whether your process does get stopped by one of the above signals (due to attempted tty access), in which case it wouldn’t have any chance to receive and therefore reply to network traffic.
If you think of it, daemon processes are the most “background” processes possible, and they certainly aren’t second-class processes.
I can’t be exact about specifically screen
’s detach operation but its documentation says that detached processes continue running, and that screen
detaches itself from the process's tty, so the process goes on basically with no difference as to normal foreground or background operation. You would have difficulties at giving it commands, though, being your interactive terminal detached from the process's virtual terminal. This might not be good for your process if at some point it expects input from its terminal.
This is exactly what I was wondering. Thanks for the detailed response! I suppose it'll become somewhat process dependent at that point.
– JonLuca
2 days ago
1
I believe in the case of screen a pseudo tty is used. When screen is detached the tty still exists and is still the controlling terminal of the process executed in screen.
– Torin
2 days ago
@Torin @JonLuca True, thank you. I never use screen and had misunderstood its docs: I thoughtscreen
detaches the process but in fact it detaches itself from the process’s pty, so yes the process is still fully connected and controlled by that pty. Answer updated.
– LL3
2 days ago
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
JonLuca is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f511323%2fare-processes-within-screen-treated-differently-from-foreground-processes%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
In general, by default the only difference is that it would receive a SIGTTIN (or SIGTTOU) signal if it tried to read (or write) the tty while being in the background.
Other differences as to priorities or higher context switches depend on your shell (or screen
) if it willingly does anything of that sort, such as changing the process’s “nice” number or maybe binding it to one particular CPU and if that CPU happens to be interrupted a lot. Normally shells don't do anything of this sort unless requested.
Higher probability of getting TCP timeouts might be related to whether your process does get stopped by one of the above signals (due to attempted tty access), in which case it wouldn’t have any chance to receive and therefore reply to network traffic.
If you think of it, daemon processes are the most “background” processes possible, and they certainly aren’t second-class processes.
I can’t be exact about specifically screen
’s detach operation but its documentation says that detached processes continue running, and that screen
detaches itself from the process's tty, so the process goes on basically with no difference as to normal foreground or background operation. You would have difficulties at giving it commands, though, being your interactive terminal detached from the process's virtual terminal. This might not be good for your process if at some point it expects input from its terminal.
This is exactly what I was wondering. Thanks for the detailed response! I suppose it'll become somewhat process dependent at that point.
– JonLuca
2 days ago
1
I believe in the case of screen a pseudo tty is used. When screen is detached the tty still exists and is still the controlling terminal of the process executed in screen.
– Torin
2 days ago
@Torin @JonLuca True, thank you. I never use screen and had misunderstood its docs: I thoughtscreen
detaches the process but in fact it detaches itself from the process’s pty, so yes the process is still fully connected and controlled by that pty. Answer updated.
– LL3
2 days ago
add a comment |
In general, by default the only difference is that it would receive a SIGTTIN (or SIGTTOU) signal if it tried to read (or write) the tty while being in the background.
Other differences as to priorities or higher context switches depend on your shell (or screen
) if it willingly does anything of that sort, such as changing the process’s “nice” number or maybe binding it to one particular CPU and if that CPU happens to be interrupted a lot. Normally shells don't do anything of this sort unless requested.
Higher probability of getting TCP timeouts might be related to whether your process does get stopped by one of the above signals (due to attempted tty access), in which case it wouldn’t have any chance to receive and therefore reply to network traffic.
If you think of it, daemon processes are the most “background” processes possible, and they certainly aren’t second-class processes.
I can’t be exact about specifically screen
’s detach operation but its documentation says that detached processes continue running, and that screen
detaches itself from the process's tty, so the process goes on basically with no difference as to normal foreground or background operation. You would have difficulties at giving it commands, though, being your interactive terminal detached from the process's virtual terminal. This might not be good for your process if at some point it expects input from its terminal.
This is exactly what I was wondering. Thanks for the detailed response! I suppose it'll become somewhat process dependent at that point.
– JonLuca
2 days ago
1
I believe in the case of screen a pseudo tty is used. When screen is detached the tty still exists and is still the controlling terminal of the process executed in screen.
– Torin
2 days ago
@Torin @JonLuca True, thank you. I never use screen and had misunderstood its docs: I thoughtscreen
detaches the process but in fact it detaches itself from the process’s pty, so yes the process is still fully connected and controlled by that pty. Answer updated.
– LL3
2 days ago
add a comment |
In general, by default the only difference is that it would receive a SIGTTIN (or SIGTTOU) signal if it tried to read (or write) the tty while being in the background.
Other differences as to priorities or higher context switches depend on your shell (or screen
) if it willingly does anything of that sort, such as changing the process’s “nice” number or maybe binding it to one particular CPU and if that CPU happens to be interrupted a lot. Normally shells don't do anything of this sort unless requested.
Higher probability of getting TCP timeouts might be related to whether your process does get stopped by one of the above signals (due to attempted tty access), in which case it wouldn’t have any chance to receive and therefore reply to network traffic.
If you think of it, daemon processes are the most “background” processes possible, and they certainly aren’t second-class processes.
I can’t be exact about specifically screen
’s detach operation but its documentation says that detached processes continue running, and that screen
detaches itself from the process's tty, so the process goes on basically with no difference as to normal foreground or background operation. You would have difficulties at giving it commands, though, being your interactive terminal detached from the process's virtual terminal. This might not be good for your process if at some point it expects input from its terminal.
In general, by default the only difference is that it would receive a SIGTTIN (or SIGTTOU) signal if it tried to read (or write) the tty while being in the background.
Other differences as to priorities or higher context switches depend on your shell (or screen
) if it willingly does anything of that sort, such as changing the process’s “nice” number or maybe binding it to one particular CPU and if that CPU happens to be interrupted a lot. Normally shells don't do anything of this sort unless requested.
Higher probability of getting TCP timeouts might be related to whether your process does get stopped by one of the above signals (due to attempted tty access), in which case it wouldn’t have any chance to receive and therefore reply to network traffic.
If you think of it, daemon processes are the most “background” processes possible, and they certainly aren’t second-class processes.
I can’t be exact about specifically screen
’s detach operation but its documentation says that detached processes continue running, and that screen
detaches itself from the process's tty, so the process goes on basically with no difference as to normal foreground or background operation. You would have difficulties at giving it commands, though, being your interactive terminal detached from the process's virtual terminal. This might not be good for your process if at some point it expects input from its terminal.
edited 2 days ago
answered 2 days ago
LL3LL3
1,2099
1,2099
This is exactly what I was wondering. Thanks for the detailed response! I suppose it'll become somewhat process dependent at that point.
– JonLuca
2 days ago
1
I believe in the case of screen a pseudo tty is used. When screen is detached the tty still exists and is still the controlling terminal of the process executed in screen.
– Torin
2 days ago
@Torin @JonLuca True, thank you. I never use screen and had misunderstood its docs: I thoughtscreen
detaches the process but in fact it detaches itself from the process’s pty, so yes the process is still fully connected and controlled by that pty. Answer updated.
– LL3
2 days ago
add a comment |
This is exactly what I was wondering. Thanks for the detailed response! I suppose it'll become somewhat process dependent at that point.
– JonLuca
2 days ago
1
I believe in the case of screen a pseudo tty is used. When screen is detached the tty still exists and is still the controlling terminal of the process executed in screen.
– Torin
2 days ago
@Torin @JonLuca True, thank you. I never use screen and had misunderstood its docs: I thoughtscreen
detaches the process but in fact it detaches itself from the process’s pty, so yes the process is still fully connected and controlled by that pty. Answer updated.
– LL3
2 days ago
This is exactly what I was wondering. Thanks for the detailed response! I suppose it'll become somewhat process dependent at that point.
– JonLuca
2 days ago
This is exactly what I was wondering. Thanks for the detailed response! I suppose it'll become somewhat process dependent at that point.
– JonLuca
2 days ago
1
1
I believe in the case of screen a pseudo tty is used. When screen is detached the tty still exists and is still the controlling terminal of the process executed in screen.
– Torin
2 days ago
I believe in the case of screen a pseudo tty is used. When screen is detached the tty still exists and is still the controlling terminal of the process executed in screen.
– Torin
2 days ago
@Torin @JonLuca True, thank you. I never use screen and had misunderstood its docs: I thought
screen
detaches the process but in fact it detaches itself from the process’s pty, so yes the process is still fully connected and controlled by that pty. Answer updated.– LL3
2 days ago
@Torin @JonLuca True, thank you. I never use screen and had misunderstood its docs: I thought
screen
detaches the process but in fact it detaches itself from the process’s pty, so yes the process is still fully connected and controlled by that pty. Answer updated.– LL3
2 days ago
add a comment |
JonLuca is a new contributor. Be nice, and check out our Code of Conduct.
JonLuca is a new contributor. Be nice, and check out our Code of Conduct.
JonLuca is a new contributor. Be nice, and check out our Code of Conduct.
JonLuca is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f511323%2fare-processes-within-screen-treated-differently-from-foreground-processes%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
-background-process, gnu-screen, process, process-management, shell