Как убить процесс по названию?

Ваш первоначальный mvпереименовал файл в имя, содержащее новую строку в конце. Вы забыли закрыть строку нового имени в кавычках и нажали Enter . Нажав Enter(вставив новую строку ), вы закрыли двойную кавычку. Это вставило новую строку в имя файла.

Чтобы переименовать файл, используйте

mv $'Powerwolf - Resurrection by Errection.mp3 \n' 'Powerwolf - Resurrection by Errection.mp3'

Обратите внимание на пробел перед \n. Судя по выводу ls, это должно быть там.

Вы также можете использовать *для сопоставления конца имени с новой строкой:

mv "Powerwolf - Resurrection by Errection.mp3"* "Powerwolf - Resurrection by Errection.mp3"
1
01.10.2020, 08:15
2 ответа

Во многих дистрибутивах Linux теперь также установлен pkill . например.pkill evolution

0
18.03.2021, 23:00

В X11 нет единого однозначного «названия процесса». Ближайшим эквивалентом может быть WM_NAMEсвойство ("имя окна" ). Однако может быть более одного окна с одним и тем же именем.

Если вы используете X11, вы можете попробовать:

xprop -name "This is a window title" _NET_WM_PID

, чтобы попытаться получить PID процесса по заголовку окна. Но в зависимости от самого процесса и/или оконного менеджера, который вы используете, он может работать или не работать :текст в строке заголовка окна может иметь или не иметь никакого отношения к WM _ИМЯ свойство на уровне протокола X11. (Оконный менеджер решает , будет ли вообще иметься строка заголовка!)

И похоже, что xpropпросто вернет первое найденное, даже если есть несколько совпадающих окон.

Если кажется, что вы получаете правильный PID, вы можете убить его, например:

kill $(xprop -name "This is a window title" _NET_WM_PID)

А если вы используете Wayland, эти инструменты и приемы X11, скорее всего, вообще не будут применимы. (Если вы знаете больше о Wayland, напишите свой ответ или отредактируйте этот!)

2
18.03.2021, 23:00

Теги

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