Как вы можете изменить имя процесса Wing IDE с питона на что-то более описательное

В моем списке процессов под Ubuntu (с использованием top / System Monitor ) одним из самых больших богов памяти (200 + Мб) был python . Я несколько раз искал одну из моих программ, пока не понял, что это была моя Python IDE ( Wing ), которая сама написана на Python.

Я думал, что могу изменить название программы, вставив setproctitle из пакета setproctitle , но версия python, используемая Wing, отличается от моей. setproctitle необходимо скомпилировать, а питон, который использует это крыло, не является полной установкой (я спросил Wing Support, но они вряд ли изменят это / включить setproctitle).

setproctitle может изменить только имя запущенного процесса, поэтому я не смог создать скрипт, запускающий Wing, а затем изменить имя процесса.

После этого я попытался написать в / proc / PIDNUM / comm, но хотя этот файл «rw», мне не разрешено писать там.

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

  • Установите Cython с python3 в Docker
  • Строка печати содержит максимальное и минимальное значение
  • Вывод скрипта python, выполняющегося как единица, не соответствует порядку, в то время как оболочки не отображаются
  • Как запустить Amazon CLI «ледник» под Python 2.7 на Centos6?
  • Как упаковать Django-сайт для Debian (не пакет Python или яйцо)?
  • Могу ли я изменить владельца туннеля после его создания?
  • Ошибка трассировки python3
  • Запуск облачной печати Google при загрузке
  • 3 Solutions collect form web for “Как вы можете изменить имя процесса Wing IDE с питона на что-то более описательное”

    Процесс может записывать только в свой собственный /proc/pid/comm . Так как кажется, что вы можете изменить код IDE, вы можете просто написать его /proc/self/comm .

    Другой вариант – изменить имя исполняемого файла Python, а затем изменить все #! но это может быть PITA.

    Другие – более болезненные варианты – писать код C и использовать LD_PRELOAD или ptrace .

    Как уже указывал derobert, возможно, самый простой способ получить другое имя в таблице процессов – переименовать «частный» исполняемый файл python из python в wing_ide .

    Команда запуска, /usr/bin/wing4.1 , на самом деле является минимальным сценарием оболочки, вызывающим второй скрипт /usr/lib/wingide4.1/run-wing.sh я исправил следующим образом:

     @@ -66,7 +66,9 @@ # Location of Python interpreter to use, if not already set if [ "${WINGPYTHON}" = "" ]; then - if [ -x "${WINGHOME}/bin/PyCore/python" ]; then + if [ -x "${WINGHOME}/bin/PyCore/wing_ide" ]; then + WINGPYTHON="${WINGHOME}/bin/PyCore/wing_ide" + elif [ -x "${WINGHOME}/bin/PyCore/python" ]; then WINGPYTHON="${WINGHOME}/bin/PyCore/python" elif [ "${WINGIDE_USE_QT4}" = "1" ]; then WINGPYTHON="${WINGHOME}/bin/runtime-python2.7/bin/python2.7" 

    в дополнение к этому я скопировал ${WINGHOME}/bin/PyCore/python в ${WINGHOME}/bin/PyCore/wing_ide .

    Для Wing 5.0 аналогичная вещь может быть выполнена, но питон по умолчанию, принятый после установки,

      WINGPYTHON="${WINGHOME}/bin/runtime-python2.7/bin/python2.7" 

    поэтому это нужно скопировать в wing_ide в том же каталоге и использовать

    Вы можете увидеть всю команду, используемую для вызова процесса, используя top , но по умолчанию он не показывает его. Переключите это в нижнем регистре c . Это должно позволить вам отличить одно приложение python от другого.

    Разница между вызовом командной строки и именем процесса появляется в proc также, как cmdline и comm .

    Interesting Posts

    Почему так медленно?

    Не удалось загрузить арку из-за ошибки acpi bios

    Ошибки при запуске моей системы Wheezy

    Gnome 3 не позволяет мне войти в систему как root

    Есть ли незашифрованные, но подписанные файловые системы?

    Устройство Umount после подключения к установочным каталогам: безопасно?

    Как grep рекурсивные результаты дерева UNIX вместе с каждым узлом дерева?

    Стоит ли CentOS 7 неправильно сортировать записи меню ядра в grub.cfg?

    Можно ли определить ход команды rm?

    Чтобы grep 20 символов после и после матча

    Как регистрировать все события, которые произошли с помощью сеанса SSH?

    Как приостановить и перенести фоновый процесс на передний план

    Использование команды break в качестве аргумента функции

    генерировать согласованный уникальный идентификатор машины в программировании c

    Как подключиться к серверу imap с адресом электронной почты для пользователей unix?

    Linux и Unix - лучшая ОС в мире.