Терминал Ubuntu: программа C (или другие решения) для уничтожения процессов, запущенных на определенном порту, и запуска Xampp [закрыт]

В качестве альтернативы extglob (хотя это очень хороший ответ, и каждый должен иметь shopt -s extglob globstar в своем .bashrc), вы можете использовать глобальную переменную $ GLOBIGNORE. Предположим, вы хотите получить каждый файл, кроме «foo.txt» и «bar baz.txt»:

GLOBIGNORE=foo.txt:'bar baz.txt'

... однако это приведет к включению опции оболочки dotglob, что означает что * будет соответствовать файлам, начинающимся с точки (которые обычно скрыты). Таким образом, вам понадобятся две команды:

GLOBIGNORE=foo.txt:'bar baz.txt'
shopt -u dotglob

Поскольку это глобальная переменная, она будет влиять на каждый глобус, который вы используете, до тех пор, пока $ GLOBSTAR не будет отменен ни путем выхода из системы, ни с помощью

GLOBIGNORE=

Он также будет работать только с литеральными строками, переданными переменной. Вы можете понять, что я имею в виду, установив $ GLOBIGNORE и посмотрев разницу между этими командами:

printf '%s\n' *
printf '%s\n' ./*
1
задан 5 May 2015 в 21:38

1 ответ

Чтобы убить процесс на порту, вы можете сделать:

$ fuser -n tcp -k 443 && /opt/lampp/xampp start

Измените && на ;, если вы хотите, чтобы он запускал xampp независимо от того, на этом порту было что-то, что было.

6
ответ дан 23 May 2018 в 20:38
  • 1
    +1 для реального решения без контрпродуктивной обертывания вокруг него. – John WH Smith 5 May 2015 в 23:05

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

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