Сценарий оболочки для запуска нового процесса, но закрыть окно терминала

Если вы хотите полностью удалить Ubuntu и восстановить Windows как свою ОС, я бы просто удалил / dev / sda2 вообще и создаю раздел NTFS, чтобы заполнить оставшееся место на диске.

Если вы по-прежнему требуется система с двойной загрузкой, создайте раздел NTFS для Windows и, но оставите некоторое нераспределенное пространство после того, как Ubuntu установит сам.

Восстановите Windows в разделе NTFS, а затем вы будете свободны установите Ubuntu после этого, если вы решите это сделать.

3
задан 7 May 2012 в 20:48

8 ответов

Вы можете отделить его от вашего текущего процесса с помощью nohup и &

if [ $1 = "groovy" ] then cd Works/Groovy/groovy-1.8.6/bin nohup ./groovyConsole & fi

. Это приведет к тому, что команда groovyConsole работает до тех пор, пока вы ее не убьете. Это не закрывает окно терминала, хотя вы покупаете так, как это ...

sh Starter.sh groovy && exit
5
ответ дан 25 May 2018 в 11:44

Я не эксперт, как бы это ни было должно работать.

if [ $1 = "groovy" ] 
then
    Works/Groovy/groovy-1.8.6/bin/groovyConsole &
    exit
fi

Объяснение:

Не нужно CD, просто запустите его напрямую с абсолютным путем. & запускать приложения в фоновом режиме для выхода из терминала
2
ответ дан 25 May 2018 в 11:44
  • 1
    То, что exit выйдет только из оболочки, которая выполняется как подпроцесс любого порождаемого скрипта. то есть он не будет закрывать родительскую оболочку. – fluffy 7 May 2012 в 23:09

попробуйте изменить ./groovyConsole to ./groovyConsole & amp; и добавьте выход после строки

1
ответ дан 25 May 2018 в 11:44

Чтобы сценарий оболочки закрывал свой родительский процесс, он должен явно его убить. Это также очень плохая практика для этого (потому что по дороге вы можете запускать этот скрипт в среде, отличной от ожидаемой), но если вы действительно этого хотите, вы можете попробовать:

1
ответ дан 25 May 2018 в 11:44

Чтобы сценарий оболочки закрывал свой родительский процесс, он должен явно его убить. Это также очень плохая практика для этого (потому что по дороге вы можете запускать этот скрипт в среде, отличной от ожидаемой), но если вы действительно этого хотите, вы можете попробовать :

#!/bin/sh
if [ $1 = "groovy" ] 
then
    cd Works/Groovy/groovy-1.8.6/bin
    nohup ./groovyConsole &
    kill $PPID
fi
1
ответ дан 25 July 2018 в 19:06

Чтобы сценарий оболочки закрывал свой родительский процесс, он должен явно его убить. Это также очень плохая практика для этого (потому что по дороге вы можете запускать этот скрипт в среде, отличной от ожидаемой), но если вы действительно этого хотите, вы можете попробовать :

#!/bin/sh
if [ $1 = "groovy" ] 
then
    cd Works/Groovy/groovy-1.8.6/bin
    nohup ./groovyConsole &
    kill $PPID
fi
1
ответ дан 2 August 2018 в 01:09

Я не эксперт, как бы это ни было должно работать.

if [ $1 = "groovy" ] 
then
    Works/Groovy/groovy-1.8.6/bin/groovyConsole &
    exit
fi

Объяснение:

  1. Не нужно CD, просто запустите его напрямую с абсолютным путем.
  2. & запустить приложения в фоновом режиме
  3. выйти, чтобы выйти из терминала
2
ответ дан 4 August 2018 в 16:41

Я не эксперт, как бы это ни было должно работать.

if [ $1 = "groovy" ] 
then
    Works/Groovy/groovy-1.8.6/bin/groovyConsole &
    exit
fi

Объяснение:

  1. Не нужно CD, просто запустите его напрямую с абсолютным путем.
  2. & запустить приложения в фоновом режиме
  3. выйти, чтобы выйти из терминала
2
ответ дан 6 August 2018 в 01:23

Другие вопросы по тегам:

Похожие вопросы: