Итак, я вхожу в поле Solaris, пытаюсь запустить Apache и обнаруживаю, что уже есть процесс, прослушивающий порт 80, и это не Apache. У наших ящиков нет lsof, поэтому я не могу с этим запросить. Думаю, я мог бы сделать:
pfiles `ls /proc` | less
и ищите "порт: 80", но если у кого-то есть лучшее решение, я все уши! Еще лучше, если я могу искать процесс прослушивания, не будучи root. Я открыт для решения как shell, так и C; Я бы не прочь иметь небольшой пользовательский исполняемый файл, чтобы нести со мной в следующий раз, когда это придет.
Обновлено: Я говорю об общих установках solaris, для которых я не являюсь администратором (хотя у меня есть доступ к суперпользователю), поэтому установка вещей с бесплатного диска не является вариантом. Очевидно, что ни один из них не использует расширения для Linux для фьюзера, netstat или других инструментов. К сожалению, пока что pfiles на всех процессах является лучшим решением. Если это будет так, я, вероятно, опубликую ответ с немного более эффективным кодом, который был выше.