как узнать сколько раз процесс мигрировал с одного процессорного ядра на другое?
perf stat
:$ perf stat true
Performance counter stats for 'true':
0.801845 task-clock (msec) # 0.445 CPUs utilized
0 context-switches # 0.000 K/sec
------> 0 cpu-migrations # 0.000 K/sec
42 page-faults # 0.052 M/sec
634,587 cycles # 0.791 GHz
459,763 instructions # 0.72 insn per cycle
89,841 branches # 112.043 M/sec
3,812 branch-misses # 4.24% of all branches
0.001801905 seconds time elapsed
пишу ключ -static
'-static'
On systems that support dynamic linking, this prevents linking with
the shared libraries. On other systems, this option has no effect.
линковать с ключем -dynamic.
замена внутри файла
#! /bin/bash
subst()
{
eval "cat <<EOF
`cat \"$1\"`
EOF"
}
. ./config
subst ./dhcpd.conf.in > ./dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet ${NET}.0 netmask 255.255.255.0 {
option routers ${NET}.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.248.21;
option root-path "${NET}.1:/tftpboot/tensilica/rootfs/${ROOTFS}${NFS_MOUNT_OPTIONS}";
range dynamic-bootp ${NET}.128 ${NET}.128;
default-lease-time 21600;
max-lease-time 43200;
}
NET=192.168.135
ROOTFS=cp0_latest
NFS_MOUNT_OPTIONS=${NFS_MOUNT_OPTIONS},noac
IF_CONFIG="$NET.1 up"
CONFIG=debug-kc705-cp0_latest
KERNEL_IMAGE=uImage
Почему сменяется группа при изменении содержимого файла?
В каком месте может быть ошибка?
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>
int main(int argc, char **argv) {
int fd0[2], fd1[2], n;
char c;
pipe(fd0);
pipe(fd1);
if (!fork()) {
close(fd0[0]);
close(fd1[1]);
write(fd0[1], "c", 1);
sleep(1);
if ((n = read(fd1[0], &c, 1)) != 1) {
printf("Дочерний процесс. Результат чтения: %d\n", n);
exit(0);
}
printf("Дочерний процесс прочитал: %c\n", c);
exit(0);
}
close(fd1[0]);
close(fd0[1]);
write(fd1[1], "p", 1);
if ((n = read(fd0[0], &c, 1)) != 1) {
printf("Родительский процесс. Результат чтения: %d\n", n);
exit(0);
}
printf("Родительский процесс прочитал: %c\n", c);
exit(0);
return 0;
}
chowh root:root
для файла, которым он владеет:$ chown root:root test ; echo $?
chown: changing ownership of 'test': Operation not permitted
1
$ fakeroot chown root:root test ; echo $?
0
$ ls -la test
-rw-rw-r--. 1 jcmvbkbc jcmvbkbc 1709 Jun 1 2011 test
make install
и подобные скрипты, меняющие права файлов, которые они устанавливают в систему, не завершались после первой ошибки при запуске под непривилегированным пользователем, а отрабатывали до конца. Правильность владельцев и разрешений устанавливаемых на файлы при этом должна обеспечиваться другими средствами.Почему в мануалах пишут так:
fakeroot dpkg-deb --build ./path
а вот так тоже работает:
dpkg-deb --build ./path
могу ли я скомпилировать модуль на одной машине и просто скопировать его на остальные?
Чем отличаются поля Recommends и Suggests?
Зачем нужно поле priority (приоритет), где оно проверяется/используется?
Зачем нужны пакеты, которые можно установить, но нельзя удалить?
Зачем нужно поле Essential, если можно запретить удаление пакета через Priority?
Можно ли все-таки удалить пакет и как, если Essential = yes или Priority = required?