int main() { // get current pid pid_t pid = getpid(); // count processes std::cout << "Nb process : " << processCount() << std::endl; // display basic information for each one std::vector<ProcessInfo> process_list = processList(); for (ProcessInfo pinfo : process_list) std::cout << pinfo << std::endl; ProcessInfo pinfo(pid); /* std::cout << "details for PID : " << pid << std::endl; std::cout << "fd : " << pinfo.fds.size() << std::endl; for (auto const &pair : pinfo.fds) std::cout << pair.first << " -> " << pair.second << std::endl; std::cout << "cgroup : " << pinfo.cgroups.size() << std::endl; for (struct cgroup_hierarchy_t cgroup : pinfo.cgroups) std::cout << cgroup.hierarchy_id << ", " << boost::algorithm::join(cgroup.subsystems, " ") << ", " << cgroup.cgroup << std::endl; std::cout << "maps : " << pinfo.maps.size() << std::endl; for (struct process_info_t pinfo : processList()) { if (!pinfo.cmdline.empty()) { for (std::string arg : pinfo.cmdline) { std::cout << arg << " "; } std::cout << std::endl; std::cout << pinfo.pid << std::endl; } } std::cout << "nbProcess " << processCount() << std::endl; std::cout << "nbCPU " << getNbCPUs() << std::endl; std::cout << "nbCores " << getNbCores() << std::endl; std::cout << "testing unix sockets" << std::endl; std::vector<struct unix_socket_t> unix_socket_list = getSocketUNIX(); for (struct unix_socket_t unix_sock : unix_socket_list) std::cout << "path: " << unix_sock.path << std::endl; std::cout << "testing tcp sockets" << std::endl; std::vector<struct tcp_socket_t> tcp_socket_list = getSocketTCP(); for (struct tcp_socket_t tcp_sock : tcp_socket_list) { std::cout << tcp_sock.local_address << ":" << tcp_sock.local_port << " " << tcp_sock.rem_address << ":" << tcp_sock.rem_port << std::endl; } */ }
void WinWindow::doRun(bool asService) { if (processCount(serverExecutable) > 0) { MessageBox(NULL, "Server executable is already running. ", "Error!", MB_ICONERROR | MB_OK); return; } std::string runPath = getExecutablePath(); if (runPath != "") { std::string parameter; if (asService) parameter = "-m"; if (startProgram(runPath, parameter)) { if (asService) MessageBox(NULL, "Server successfully started.", "Success", MB_ICONINFORMATION | MB_OK); } } }