Beispiel #1
0
    def max_number_of_running_processes(self):
        """
        Obtains information from /proc/sys/kernel/pid_max

        See `man 5 proc` for more information
        """
        return int(lines_from_file("/proc/sys/kernel/pid_max")[0])
Beispiel #2
0
    def test_returns_list_of_strings(self):
        ensure_contains_only_formatted_lines(FILE_PATH, 'line')

        found_lines = lines_from_file(FILE_PATH)
        assert_is_instance(found_lines, list)
        for found_line in found_lines:
            assert_is_instance(found_line, string_types)
Beispiel #3
0
    def test_returns_up_to_maximum_number_of_lines(self):
        ensure_contains_only_formatted_lines(FILE_PATH, 'line', 3)

        maximum_number_of_lines = 2
        found_lines = lines_from_file(FILE_PATH, maximum_number_of_lines)

        assert_less_equal(maximum_number_of_lines, len(found_lines))
Beispiel #4
0
    def test_returns_up_to_maximum_number_of_lines(self):
        ensure_contains_only_formatted_lines(FILE_PATH, 'line', 3)

        maximum_number_of_lines = 2
        found_lines = lines_from_file(FILE_PATH, maximum_number_of_lines)

        assert_less_equal(maximum_number_of_lines, len(found_lines))
Beispiel #5
0
    def test_returns_list_of_strings(self):
        ensure_contains_only_formatted_lines(FILE_PATH, 'line')

        found_lines = lines_from_file(FILE_PATH)
        assert_is_instance(found_lines, list)
        for found_line in found_lines:
            assert_is_instance(found_line, string_types)
Beispiel #6
0
    def max_number_of_running_processes(self):
        """
        Obtains information from /proc/sys/kernel/pid_max

        See `man 5 proc` for more information
        """
        return int(lines_from_file("/proc/sys/kernel/pid_max")[0])
Beispiel #7
0
    def _net_interface_infos(self):
        lines = lines_from_file("/proc/net/dev")
        interface_info_lines = lines[2:]

        interface_stats = dict()
        for interface_info_line in interface_info_lines:
            interface_name, interface_info = interface_info_line.split(':')
            interface_name = interface_name.strip()
            interface_info = interface_info.split()

            incoming = [int(value) for value in interface_info[0:4]]
            outgoing = [int(value) for value in interface_info[8:12]]
            collisions = [int(interface_info[14])]
            interface_stats[interface_name] = NetworkInterfaceInfo(
                *(incoming + outgoing + collisions))
        return interface_stats
Beispiel #8
0
    def _net_interface_infos(self):
        lines = lines_from_file("/proc/net/dev")
        interface_info_lines = lines[2:]

        interface_stats = dict()
        for interface_info_line in interface_info_lines:
            interface_name, interface_info = interface_info_line.split(':')
            interface_name = interface_name.strip()
            interface_info = interface_info.split()

            incoming = [int(value) for value in interface_info[0:4]]
            outgoing = [int(value) for value in interface_info[8:12]]
            collisions = [int(interface_info[14])]
            interface_stats[interface_name] = NetworkInterfaceInfo(
                *(incoming + outgoing + collisions))
        return interface_stats
Beispiel #9
0
    def _process_command_line(self, process_id):
        proc_cmd_line = os.path.join('/proc', process_id, 'cmdline')
        proc_cmd_line = lines_from_file(proc_cmd_line)[0]

        return proc_cmd_line.replace('\0', ' ').rstrip()
Beispiel #10
0
    def _process_command_line(self, process_id):
        proc_cmd_line = os.path.join('/proc', process_id, 'cmdline')
        proc_cmd_line = lines_from_file(proc_cmd_line)[0]

        return proc_cmd_line.replace('\0', ' ').rstrip()