32-разрядные работы версии над всеми ПК, 64-разрядная версия только работает над ПК с подходящим процессором. Рекомендация 32-разрядной версии более проста, чем выделение подробных инструкций относительно того, как определить, поддерживает ли Ваш компьютер 64-разрядную версию.
В то время как сам Linux работает точно также в 64-разрядном режиме как в 32-разрядном режиме, большая часть программного обеспечения только для двоичного файла там распределяется в 32-разрядных исполняемых файлах. В то время как 64-разрядный выпуск Ubuntu включает некоторую поддержку 32-разрядных исполняемых файлов, это не включает все библиотеки в 32-разрядную форму. Кроме того, несколько программ запутываются, при попытке скомпилировать или выполнить их в 64-разрядной системе. Рекомендация 32-разрядного выпуска имеет смысл для пользователей, которые могли бы хотеть установить такие сторонние программы и не смогли иметь дело с проблемами.
С другой стороны, 32-разрядный настольный выпуск устанавливает ядро, которое только может управлять немного меньше чем 4 ГБ RAM (если это не изменилось в последних версиях), и может только позволить любому единственному процессу использовать 3 ГБ. Таким образом, если у Вас есть 4 ГБ, или больше RAM, получая 64-разрядный выпуск является хорошей идеей.
Кроме того, как пишет Marco Ceppi, посмотрите, что тот же вопрос на Спрашивает Ubuntu.
Запуск myprocess из startmyprocess.sh не называет процесс в честь базового сценария оболочки, именно поэтому Ваш ps -ef | grep startmyprocess1
не возвращает результат.
Это также, почему много процессов, особенно демоны, выписывают свой pid в файл так, чтобы можно было легко сослаться, это - процесс. Это может быть, покончите:
#!/bin/sh
pid=`myprocess`
echo $pid > /tmp/myprocess.pid
или можно запросить $!
который содержит последний pid:
#!/bin/sh
myprocess
echo $! > /tmp/myprocess.pid
и запросите/перечислите процесс, он - pid:
ps --pid $PID
попробуйте этого.., (не протестированный)
ps -aux | grep "yourprocess"
Например,
ps -aux | grep "httpd"
Я думаю, что программное обеспечение, как «топ», сделает отличную работу.
Тип:
top
или
htop
Попробуйте следующий подход
ps -ef | grep startmyprocess1.sh
Получить родительский PID для StartMyProcess1.SH
, Затем используйте команду ниже, чтобы узнать родительский процесс от IT PID.
ps -ef | grep *PPID*
Ответ из @invert многое объяснил, скрипт оболочки просто выполняет внутри него команды. Это значит, что вы не получите имя вашего скрипта оболочки при выводе top
или htop
, который просто печатает /proc/$PID/cmdline каждой рутины внутри скрипта оболочки.
Помимо использования echo $!
после команды получить PID того, что вам нужно.
Я хотел бы использовать команду pgrep
, когда мне нужно (или pkill, если Вы хотите убить его).
pgrep, pkill - look up или сигнальные процессы, основанные на имени и других атрибутах
pgrep просто смазывает ваши аргументы через /proc/*/cmdline и выводит соответствующие PID. Убийство совместимо с убийством, так что вы можете с легкостью вылечить любую рутину с помощью смолы
.