используйте формулу INDEX()
для обрезки ненужного, например:
=INDEX(IMPORTXML("URL", "//div[@class = 'TimeStamp']") , , 1)
или, может быть:
=ARRAYFORMULA(INDEX(SPLIT(IMPORTXML("URL", "//div[@class = 'TimeStamp']"), " ") , , 1))
=ARRAYFORMULA(TEXT(TO_DATE(INDEX(SPLIT(IMPORTXML(
"https://"&C13&".op.gg/summoner/userName="&B13;
"//div[@class = 'TimeStamp']"); " "); ; 1));
"yyyy-mm-dd"))
Информация о процессе прибывает от pidinfo
:
cristi:~ diciu$ grep proc_pidinfo /usr/include/libproc.h
int proc_pidinfo(int pid, int flavor, uint64_t arg, void *buffer, int buffersize);
загрузка ЦП прибывает от host_statistics
:
cristi:~ diciu$ grep -r host_statistics /usr/include/
/usr/include/mach/host_info.h:/* host_statistics() */
/usr/include/mach/mach_host.defs:routine host_statistics(
/usr/include/mach/mach_host.h:/* Routine host_statistics */
/usr/include/mach/mach_host.h:kern_return_t host_statistics
для получения дополнительной информации, проверьте источники для top
и lsof
, они - открытый исходный код (необходимо зарегистрироваться как разработчик Apple, но это бесплатно):
https://opensource.apple.com/source/top/top-111.20.1/libtop.c.auto.html
Более позднее редактирование: Все эти интерфейсы являются конкретной версией, таким образом, необходимо принять это во внимание при написании производственного кода (libproc.h):
/*
* This header file contains private interfaces to obtain process information.
* These interfaces are subject to change in future releases.
*/
Так как Вы говорите, что никакой Objective C мы исключим большинство платформ MacOS.
можно получить процессорное время с помощью getrusage (), который дает общую сумму Пользовательского и Системного процессорного времени, заряженного к процессу. Для получения процента использования ЦП, необходимо было бы создать снимки значения getrusage однажды в секунду (или однако детализированный, Вы хотите быть).
#include <sys/resource.h>
struct rusage r_usage;
if (getrusage(RUSAGE_SELF, &r_usage)) {
/* ... error handling ... */
}
printf("Total User CPU = %ld.%ld\n",
r_usage.ru_utime.tv_sec,
r_usage.ru_utime.tv_usec);
printf("Total System CPU = %ld.%ld\n",
r_usage.ru_stime.tv_sec,
r_usage.ru_stime.tv_usec);
в getrusage структуре существует поле RSS, но, кажется, всегда нуль в MacOS X 10.5. Michael Knight записал сообщение в блоге несколько лет назад о том, как определить RSS.
Я думаю, что большинство этих значений доступно в API Маха, но это было некоторое время, так как я ввел по абсолютному адресу вокруг там. С другой стороны, Вы могли просто посмотреть на исходный код для "PS" или "главных" команд, и видеть, как они делают это.
Большая часть этой информации может быть получена от GetProcessInformation () .
Между прочим, почему виртуальные методы для функций, которые возвращают processwide информацию?
Это УГЛЕРОД только и не будет работать с какао