Reattach to child process after killing parent processHow to sync terminal session command history in bash?Creating an alias to Change Directory and have that directory be the current working directory in new terminal tabsRun bash script on startup in Linux Mint and open mate-terminal automaticallyRenaming the current directory from a shell - possible?How to kill this process in bashCannot exec /bin/false: no such file or directoryHow can I use vi to edit prompt line of a utility?urxvt -e doesn't source .zshrcProcesses PPID changed to 1 after closing parent shellViewing man pages in vim

What to wear for invited talk in Canada

Re-submission of rejected manuscript without informing co-authors

Is there a name of the flying bionic bird?

"listening to me about as much as you're listening to this pole here"

Prime joint compound before latex paint?

Why is my log file so massive? 22gb. I am running log backups

Why did the Germans forbid the possession of pet pigeons in Rostov-on-Don in 1941?

A poker game description that does not feel gimmicky

Patience, young "Padovan"

Is Social Media Science Fiction?

Copycat chess is back

Is "plugging out" electronic devices an American expression?

COUNT(*) or MAX(id) - which is faster?

Finding files for which a command fails

How to answer pointed "are you quitting" questioning when I don't want them to suspect

If a centaur druid Wild Shapes into a Giant Elk, do their Charge features stack?

Unbreakable Formation vs. Cry of the Carnarium

What is the meaning of "of trouble" in the following sentence?

Why is the design of haulage companies so “special”?

Domain expired, GoDaddy holds it and is asking more money

Can I legally use front facing blue light in the UK?

I’m planning on buying a laser printer but concerned about the life cycle of toner in the machine

How to make payment on the internet without leaving a money trail?

What does "enim et" mean?



Reattach to child process after killing parent process


How to sync terminal session command history in bash?Creating an alias to Change Directory and have that directory be the current working directory in new terminal tabsRun bash script on startup in Linux Mint and open mate-terminal automaticallyRenaming the current directory from a shell - possible?How to kill this process in bashCannot exec /bin/false: no such file or directoryHow can I use vi to edit prompt line of a utility?urxvt -e doesn't source .zshrcProcesses PPID changed to 1 after closing parent shellViewing man pages in vim






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















So I'm using the terminal file explorer vifm and especially have a hotkey to open a shell in the current directory.



nnoremap s :shell<cr>


However, when I exit this shell, I get back to vifm. But I don't want to have vifm still open after going to the shell. I want to kill vifm and afterwards when I exit the terminal, it should bring me to the grandparent process or kill the terminal emulator. I tried stuff like



nnoremap s :!./testscript.sh<cr>


where testscript.sh contains:



#!/bin/sh
zsh &
kill $PPID


, but I always get an error code 1 from the last command when doing this. However, the grandparent terminal opens (not in the current directory of vifm) without a child being created. Changing the script to



#!/bin/sh
zsh &
kill $PPID
clear


Does also give me an error code and opens the grandparent terminal (not in the current directory of vifm) and changing the script to



#!/bin/sh
kill $PPID
zsh


Makes the now open terminal buggy (buffer for letters somehow breaks).



So what is the right way to open a terminal in the current directory while closing vifm without receiving an error code or messing up the buffer?



Edit: To clearify what I need this for. I want to prevent a usb-stick being busy. If the current shell isn't using the usb-stick anymore, but vifm is still inside a directory of the usb-stick, I can't unmount the stick. And I want to do this without exiting the terminal, but rather closing vifm beforehand.



Edit 2: Found the answer. It works with:



nnoremap s : let $PREVPWD = system('pwd')
| cd
| !cd $PREVPWD && exec zsh<cr>



( https://q2a.vifm.info/449/closing-vifm-while-still-opening-terminal-current-directory )










share|improve this question
























  • Would this be close enough? :nn s :shell<cr>:exit<cr>

    – Mark Plotnick
    Mar 28 at 14:27












  • That does the trick. Thank you so much! Edit: Sorry, but I still have a problem with this. My main reason for doing this is to prevent a usb-stick being busy. If the current shell isn't using the usb-stick anymore, but vifm is still inside a directory of the usb-stick, I can't unmount the stick. And I want to do this without exiting to stop vifm.

    – Uwe Müller
    Mar 28 at 14:28












  • I just saw your newly-edited question. Try :nn s :cd /<cr>:shell<cr>:exit<cr>. That may not be sufficient if you have multiple directories/panes open. Hopefully someone can come up with a solution.

    – Mark Plotnick
    Mar 28 at 14:41












  • Thanks for the answer. However, I would still like to open the shell in the current directory, not in /. But I really like the idea of this.

    – Uwe Müller
    Mar 28 at 14:47











  • Please see Can I answer my own question? Your answer should not be in the question body.

    – Kamil Maciorowski
    Mar 29 at 21:25

















0















So I'm using the terminal file explorer vifm and especially have a hotkey to open a shell in the current directory.



nnoremap s :shell<cr>


However, when I exit this shell, I get back to vifm. But I don't want to have vifm still open after going to the shell. I want to kill vifm and afterwards when I exit the terminal, it should bring me to the grandparent process or kill the terminal emulator. I tried stuff like



nnoremap s :!./testscript.sh<cr>


where testscript.sh contains:



#!/bin/sh
zsh &
kill $PPID


, but I always get an error code 1 from the last command when doing this. However, the grandparent terminal opens (not in the current directory of vifm) without a child being created. Changing the script to



#!/bin/sh
zsh &
kill $PPID
clear


Does also give me an error code and opens the grandparent terminal (not in the current directory of vifm) and changing the script to



#!/bin/sh
kill $PPID
zsh


Makes the now open terminal buggy (buffer for letters somehow breaks).



So what is the right way to open a terminal in the current directory while closing vifm without receiving an error code or messing up the buffer?



Edit: To clearify what I need this for. I want to prevent a usb-stick being busy. If the current shell isn't using the usb-stick anymore, but vifm is still inside a directory of the usb-stick, I can't unmount the stick. And I want to do this without exiting the terminal, but rather closing vifm beforehand.



Edit 2: Found the answer. It works with:



nnoremap s : let $PREVPWD = system('pwd')
| cd
| !cd $PREVPWD && exec zsh<cr>



( https://q2a.vifm.info/449/closing-vifm-while-still-opening-terminal-current-directory )










share|improve this question
























  • Would this be close enough? :nn s :shell<cr>:exit<cr>

    – Mark Plotnick
    Mar 28 at 14:27












  • That does the trick. Thank you so much! Edit: Sorry, but I still have a problem with this. My main reason for doing this is to prevent a usb-stick being busy. If the current shell isn't using the usb-stick anymore, but vifm is still inside a directory of the usb-stick, I can't unmount the stick. And I want to do this without exiting to stop vifm.

    – Uwe Müller
    Mar 28 at 14:28












  • I just saw your newly-edited question. Try :nn s :cd /<cr>:shell<cr>:exit<cr>. That may not be sufficient if you have multiple directories/panes open. Hopefully someone can come up with a solution.

    – Mark Plotnick
    Mar 28 at 14:41












  • Thanks for the answer. However, I would still like to open the shell in the current directory, not in /. But I really like the idea of this.

    – Uwe Müller
    Mar 28 at 14:47











  • Please see Can I answer my own question? Your answer should not be in the question body.

    – Kamil Maciorowski
    Mar 29 at 21:25













0












0








0








So I'm using the terminal file explorer vifm and especially have a hotkey to open a shell in the current directory.



nnoremap s :shell<cr>


However, when I exit this shell, I get back to vifm. But I don't want to have vifm still open after going to the shell. I want to kill vifm and afterwards when I exit the terminal, it should bring me to the grandparent process or kill the terminal emulator. I tried stuff like



nnoremap s :!./testscript.sh<cr>


where testscript.sh contains:



#!/bin/sh
zsh &
kill $PPID


, but I always get an error code 1 from the last command when doing this. However, the grandparent terminal opens (not in the current directory of vifm) without a child being created. Changing the script to



#!/bin/sh
zsh &
kill $PPID
clear


Does also give me an error code and opens the grandparent terminal (not in the current directory of vifm) and changing the script to



#!/bin/sh
kill $PPID
zsh


Makes the now open terminal buggy (buffer for letters somehow breaks).



So what is the right way to open a terminal in the current directory while closing vifm without receiving an error code or messing up the buffer?



Edit: To clearify what I need this for. I want to prevent a usb-stick being busy. If the current shell isn't using the usb-stick anymore, but vifm is still inside a directory of the usb-stick, I can't unmount the stick. And I want to do this without exiting the terminal, but rather closing vifm beforehand.



Edit 2: Found the answer. It works with:



nnoremap s : let $PREVPWD = system('pwd')
| cd
| !cd $PREVPWD && exec zsh<cr>



( https://q2a.vifm.info/449/closing-vifm-while-still-opening-terminal-current-directory )










share|improve this question
















So I'm using the terminal file explorer vifm and especially have a hotkey to open a shell in the current directory.



nnoremap s :shell<cr>


However, when I exit this shell, I get back to vifm. But I don't want to have vifm still open after going to the shell. I want to kill vifm and afterwards when I exit the terminal, it should bring me to the grandparent process or kill the terminal emulator. I tried stuff like



nnoremap s :!./testscript.sh<cr>


where testscript.sh contains:



#!/bin/sh
zsh &
kill $PPID


, but I always get an error code 1 from the last command when doing this. However, the grandparent terminal opens (not in the current directory of vifm) without a child being created. Changing the script to



#!/bin/sh
zsh &
kill $PPID
clear


Does also give me an error code and opens the grandparent terminal (not in the current directory of vifm) and changing the script to



#!/bin/sh
kill $PPID
zsh


Makes the now open terminal buggy (buffer for letters somehow breaks).



So what is the right way to open a terminal in the current directory while closing vifm without receiving an error code or messing up the buffer?



Edit: To clearify what I need this for. I want to prevent a usb-stick being busy. If the current shell isn't using the usb-stick anymore, but vifm is still inside a directory of the usb-stick, I can't unmount the stick. And I want to do this without exiting the terminal, but rather closing vifm beforehand.



Edit 2: Found the answer. It works with:



nnoremap s : let $PREVPWD = system('pwd')
| cd
| !cd $PREVPWD && exec zsh<cr>



( https://q2a.vifm.info/449/closing-vifm-while-still-opening-terminal-current-directory )







bash shell vifm






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 29 at 13:15







Uwe Müller

















asked Mar 28 at 13:03









Uwe MüllerUwe Müller

11




11












  • Would this be close enough? :nn s :shell<cr>:exit<cr>

    – Mark Plotnick
    Mar 28 at 14:27












  • That does the trick. Thank you so much! Edit: Sorry, but I still have a problem with this. My main reason for doing this is to prevent a usb-stick being busy. If the current shell isn't using the usb-stick anymore, but vifm is still inside a directory of the usb-stick, I can't unmount the stick. And I want to do this without exiting to stop vifm.

    – Uwe Müller
    Mar 28 at 14:28












  • I just saw your newly-edited question. Try :nn s :cd /<cr>:shell<cr>:exit<cr>. That may not be sufficient if you have multiple directories/panes open. Hopefully someone can come up with a solution.

    – Mark Plotnick
    Mar 28 at 14:41












  • Thanks for the answer. However, I would still like to open the shell in the current directory, not in /. But I really like the idea of this.

    – Uwe Müller
    Mar 28 at 14:47











  • Please see Can I answer my own question? Your answer should not be in the question body.

    – Kamil Maciorowski
    Mar 29 at 21:25

















  • Would this be close enough? :nn s :shell<cr>:exit<cr>

    – Mark Plotnick
    Mar 28 at 14:27












  • That does the trick. Thank you so much! Edit: Sorry, but I still have a problem with this. My main reason for doing this is to prevent a usb-stick being busy. If the current shell isn't using the usb-stick anymore, but vifm is still inside a directory of the usb-stick, I can't unmount the stick. And I want to do this without exiting to stop vifm.

    – Uwe Müller
    Mar 28 at 14:28












  • I just saw your newly-edited question. Try :nn s :cd /<cr>:shell<cr>:exit<cr>. That may not be sufficient if you have multiple directories/panes open. Hopefully someone can come up with a solution.

    – Mark Plotnick
    Mar 28 at 14:41












  • Thanks for the answer. However, I would still like to open the shell in the current directory, not in /. But I really like the idea of this.

    – Uwe Müller
    Mar 28 at 14:47











  • Please see Can I answer my own question? Your answer should not be in the question body.

    – Kamil Maciorowski
    Mar 29 at 21:25
















Would this be close enough? :nn s :shell<cr>:exit<cr>

– Mark Plotnick
Mar 28 at 14:27






Would this be close enough? :nn s :shell<cr>:exit<cr>

– Mark Plotnick
Mar 28 at 14:27














That does the trick. Thank you so much! Edit: Sorry, but I still have a problem with this. My main reason for doing this is to prevent a usb-stick being busy. If the current shell isn't using the usb-stick anymore, but vifm is still inside a directory of the usb-stick, I can't unmount the stick. And I want to do this without exiting to stop vifm.

– Uwe Müller
Mar 28 at 14:28






That does the trick. Thank you so much! Edit: Sorry, but I still have a problem with this. My main reason for doing this is to prevent a usb-stick being busy. If the current shell isn't using the usb-stick anymore, but vifm is still inside a directory of the usb-stick, I can't unmount the stick. And I want to do this without exiting to stop vifm.

– Uwe Müller
Mar 28 at 14:28














I just saw your newly-edited question. Try :nn s :cd /<cr>:shell<cr>:exit<cr>. That may not be sufficient if you have multiple directories/panes open. Hopefully someone can come up with a solution.

– Mark Plotnick
Mar 28 at 14:41






I just saw your newly-edited question. Try :nn s :cd /<cr>:shell<cr>:exit<cr>. That may not be sufficient if you have multiple directories/panes open. Hopefully someone can come up with a solution.

– Mark Plotnick
Mar 28 at 14:41














Thanks for the answer. However, I would still like to open the shell in the current directory, not in /. But I really like the idea of this.

– Uwe Müller
Mar 28 at 14:47





Thanks for the answer. However, I would still like to open the shell in the current directory, not in /. But I really like the idea of this.

– Uwe Müller
Mar 28 at 14:47













Please see Can I answer my own question? Your answer should not be in the question body.

– Kamil Maciorowski
Mar 29 at 21:25





Please see Can I answer my own question? Your answer should not be in the question body.

– Kamil Maciorowski
Mar 29 at 21:25










0






active

oldest

votes












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
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f509213%2freattach-to-child-process-after-killing-parent-process%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































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.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f509213%2freattach-to-child-process-after-killing-parent-process%23new-answer', 'question_page');

);

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







-bash, shell, vifm

Popular posts from this blog

Frič See also Navigation menuinternal link

Identify plant with long narrow paired leaves and reddish stems Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?What is this plant with long sharp leaves? Is it a weed?What is this 3ft high, stalky plant, with mid sized narrow leaves?What is this young shrub with opposite ovate, crenate leaves and reddish stems?What is this plant with large broad serrated leaves?Identify this upright branching weed with long leaves and reddish stemsPlease help me identify this bulbous plant with long, broad leaves and white flowersWhat is this small annual with narrow gray/green leaves and rust colored daisy-type flowers?What is this chilli plant?Does anyone know what type of chilli plant this is?Help identify this plant

fontconfig warning: “/etc/fonts/fonts.conf”, line 100: unknown “element blank” The 2019 Stack Overflow Developer Survey Results Are In“tar: unrecognized option --warning” during 'apt-get install'How to fix Fontconfig errorHow do I figure out which font file is chosen for a system generic font alias?Why are some apt-get-installed fonts being ignored by fc-list, xfontsel, etc?Reload settings in /etc/fonts/conf.dTaking 30 seconds longer to boot after upgrade from jessie to stretchHow to match multiple font names with a single <match> element?Adding a custom font to fontconfigRemoving fonts from fontconfig <match> resultsBroken fonts after upgrading Firefox ESR to latest Firefox