How to make shell script to not create subprocess and don't wait for child execution
If I call a shell script (inner.sh) inside another shell script (main.sh), the first script (main.sh) will wait the end of inner.sh before continue. If inner.sh fails, main.sh fails too.
Eg:
cat .main.sh
#!/bin/bash
bin/bash .inner.sh
main.sh will end only after inner.sh ends.
How do I run inner.sh in a separated process (not subprocess, not same process and not in parallel with main.sh)?
What I want to do is make main.sh continue execution no matter what happens with inner.sh.
shell-script
add a comment |
If I call a shell script (inner.sh) inside another shell script (main.sh), the first script (main.sh) will wait the end of inner.sh before continue. If inner.sh fails, main.sh fails too.
Eg:
cat .main.sh
#!/bin/bash
bin/bash .inner.sh
main.sh will end only after inner.sh ends.
How do I run inner.sh in a separated process (not subprocess, not same process and not in parallel with main.sh)?
What I want to do is make main.sh continue execution no matter what happens with inner.sh.
shell-script
3
/bin/bash .inner.sh &
ornohup /bin/bash .inner.sh &
– GypsyCosmonaut
Aug 28 '17 at 15:36
@GypsyCosmonaut I feel stupid now for not remembering nohup command. I usually use nohup in bash, did not occur to me use inside a script. Thanks
– Joao Vitorino
Aug 28 '17 at 15:50
GypsyCosmonaut. write as answer and I will mark as solved.
– Joao Vitorino
Aug 28 '17 at 15:50
1
So by “not … parallel from main.sh”, you mean “in parallel with main.sh”? Your question is hard to follow.
– Gilles
Aug 28 '17 at 22:38
add a comment |
If I call a shell script (inner.sh) inside another shell script (main.sh), the first script (main.sh) will wait the end of inner.sh before continue. If inner.sh fails, main.sh fails too.
Eg:
cat .main.sh
#!/bin/bash
bin/bash .inner.sh
main.sh will end only after inner.sh ends.
How do I run inner.sh in a separated process (not subprocess, not same process and not in parallel with main.sh)?
What I want to do is make main.sh continue execution no matter what happens with inner.sh.
shell-script
If I call a shell script (inner.sh) inside another shell script (main.sh), the first script (main.sh) will wait the end of inner.sh before continue. If inner.sh fails, main.sh fails too.
Eg:
cat .main.sh
#!/bin/bash
bin/bash .inner.sh
main.sh will end only after inner.sh ends.
How do I run inner.sh in a separated process (not subprocess, not same process and not in parallel with main.sh)?
What I want to do is make main.sh continue execution no matter what happens with inner.sh.
shell-script
shell-script
edited Aug 29 '17 at 14:43
Joao Vitorino
asked Aug 28 '17 at 15:32
Joao VitorinoJoao Vitorino
974
974
3
/bin/bash .inner.sh &
ornohup /bin/bash .inner.sh &
– GypsyCosmonaut
Aug 28 '17 at 15:36
@GypsyCosmonaut I feel stupid now for not remembering nohup command. I usually use nohup in bash, did not occur to me use inside a script. Thanks
– Joao Vitorino
Aug 28 '17 at 15:50
GypsyCosmonaut. write as answer and I will mark as solved.
– Joao Vitorino
Aug 28 '17 at 15:50
1
So by “not … parallel from main.sh”, you mean “in parallel with main.sh”? Your question is hard to follow.
– Gilles
Aug 28 '17 at 22:38
add a comment |
3
/bin/bash .inner.sh &
ornohup /bin/bash .inner.sh &
– GypsyCosmonaut
Aug 28 '17 at 15:36
@GypsyCosmonaut I feel stupid now for not remembering nohup command. I usually use nohup in bash, did not occur to me use inside a script. Thanks
– Joao Vitorino
Aug 28 '17 at 15:50
GypsyCosmonaut. write as answer and I will mark as solved.
– Joao Vitorino
Aug 28 '17 at 15:50
1
So by “not … parallel from main.sh”, you mean “in parallel with main.sh”? Your question is hard to follow.
– Gilles
Aug 28 '17 at 22:38
3
3
/bin/bash .inner.sh &
or nohup /bin/bash .inner.sh &
– GypsyCosmonaut
Aug 28 '17 at 15:36
/bin/bash .inner.sh &
or nohup /bin/bash .inner.sh &
– GypsyCosmonaut
Aug 28 '17 at 15:36
@GypsyCosmonaut I feel stupid now for not remembering nohup command. I usually use nohup in bash, did not occur to me use inside a script. Thanks
– Joao Vitorino
Aug 28 '17 at 15:50
@GypsyCosmonaut I feel stupid now for not remembering nohup command. I usually use nohup in bash, did not occur to me use inside a script. Thanks
– Joao Vitorino
Aug 28 '17 at 15:50
GypsyCosmonaut. write as answer and I will mark as solved.
– Joao Vitorino
Aug 28 '17 at 15:50
GypsyCosmonaut. write as answer and I will mark as solved.
– Joao Vitorino
Aug 28 '17 at 15:50
1
1
So by “not … parallel from main.sh”, you mean “in parallel with main.sh”? Your question is hard to follow.
– Gilles
Aug 28 '17 at 22:38
So by “not … parallel from main.sh”, you mean “in parallel with main.sh”? Your question is hard to follow.
– Gilles
Aug 28 '17 at 22:38
add a comment |
1 Answer
1
active
oldest
votes
/bin/bash .inner.sh &
runs .inner.sh
as a subprocess but .inner.sh
would still be a part of the process of .main.sh
but if you want to run .inner.sh
as a completely detached process then you might want to do
/bin/bash .inner.sh & disown
or
nohup /bin/bash .inner.sh &
These run .inner.sh
as a completely separate process. so even if you ^C
out of your .main.sh
, your .inner.sh
would still run (given that you do ^C
after the interpreter executed the disown
or nohup
).
1
Can also run as subprocess if put the command between (). (/bin/bash .inner.sh)
– Joao Vitorino
Aug 28 '17 at 16:47
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
});
}
});
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%2f388865%2fhow-to-make-shell-script-to-not-create-subprocess-and-dont-wait-for-child-execu%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
/bin/bash .inner.sh &
runs .inner.sh
as a subprocess but .inner.sh
would still be a part of the process of .main.sh
but if you want to run .inner.sh
as a completely detached process then you might want to do
/bin/bash .inner.sh & disown
or
nohup /bin/bash .inner.sh &
These run .inner.sh
as a completely separate process. so even if you ^C
out of your .main.sh
, your .inner.sh
would still run (given that you do ^C
after the interpreter executed the disown
or nohup
).
1
Can also run as subprocess if put the command between (). (/bin/bash .inner.sh)
– Joao Vitorino
Aug 28 '17 at 16:47
add a comment |
/bin/bash .inner.sh &
runs .inner.sh
as a subprocess but .inner.sh
would still be a part of the process of .main.sh
but if you want to run .inner.sh
as a completely detached process then you might want to do
/bin/bash .inner.sh & disown
or
nohup /bin/bash .inner.sh &
These run .inner.sh
as a completely separate process. so even if you ^C
out of your .main.sh
, your .inner.sh
would still run (given that you do ^C
after the interpreter executed the disown
or nohup
).
1
Can also run as subprocess if put the command between (). (/bin/bash .inner.sh)
– Joao Vitorino
Aug 28 '17 at 16:47
add a comment |
/bin/bash .inner.sh &
runs .inner.sh
as a subprocess but .inner.sh
would still be a part of the process of .main.sh
but if you want to run .inner.sh
as a completely detached process then you might want to do
/bin/bash .inner.sh & disown
or
nohup /bin/bash .inner.sh &
These run .inner.sh
as a completely separate process. so even if you ^C
out of your .main.sh
, your .inner.sh
would still run (given that you do ^C
after the interpreter executed the disown
or nohup
).
/bin/bash .inner.sh &
runs .inner.sh
as a subprocess but .inner.sh
would still be a part of the process of .main.sh
but if you want to run .inner.sh
as a completely detached process then you might want to do
/bin/bash .inner.sh & disown
or
nohup /bin/bash .inner.sh &
These run .inner.sh
as a completely separate process. so even if you ^C
out of your .main.sh
, your .inner.sh
would still run (given that you do ^C
after the interpreter executed the disown
or nohup
).
edited 16 mins ago
answered Aug 28 '17 at 15:57
GypsyCosmonautGypsyCosmonaut
80311033
80311033
1
Can also run as subprocess if put the command between (). (/bin/bash .inner.sh)
– Joao Vitorino
Aug 28 '17 at 16:47
add a comment |
1
Can also run as subprocess if put the command between (). (/bin/bash .inner.sh)
– Joao Vitorino
Aug 28 '17 at 16:47
1
1
Can also run as subprocess if put the command between (). (/bin/bash .inner.sh)
– Joao Vitorino
Aug 28 '17 at 16:47
Can also run as subprocess if put the command between (). (/bin/bash .inner.sh)
– Joao Vitorino
Aug 28 '17 at 16:47
add a comment |
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%2f388865%2fhow-to-make-shell-script-to-not-create-subprocess-and-dont-wait-for-child-execu%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
3
/bin/bash .inner.sh &
ornohup /bin/bash .inner.sh &
– GypsyCosmonaut
Aug 28 '17 at 15:36
@GypsyCosmonaut I feel stupid now for not remembering nohup command. I usually use nohup in bash, did not occur to me use inside a script. Thanks
– Joao Vitorino
Aug 28 '17 at 15:50
GypsyCosmonaut. write as answer and I will mark as solved.
– Joao Vitorino
Aug 28 '17 at 15:50
1
So by “not … parallel from main.sh”, you mean “in parallel with main.sh”? Your question is hard to follow.
– Gilles
Aug 28 '17 at 22:38