Запуск сценария с использованием команды at не работает полностью

Descargo de responsabilidad :No sé mucho sobre QNX, y menos aún sobre dispositivos integrados.

Lo que está preguntando es básicamente sobre el bloqueo de archivos :Un proceso intenta adquirir un bloqueo compartido (bloqueo de lectura )en un archivo de bloqueo para realizar algunas operaciones. Si otro proceso mantiene un bloqueo exclusivo (de escritura )en el mismo bloqueo, el primer proceso se bloqueará hasta que se libere el bloqueo exclusivo. o al revés,un proceso puede adquirir un bloqueo exclusivo solo si no hay otros procesos con bloqueos compartidos/exclusivos activos compartidos.

Para realizar el bloqueo de archivos obligatorio , esto debe ser compatible con el núcleo. Hay muy pocos sistemas Unix que implementen esto de una manera que funcione de manera confiable desde un script de shell (para Linux, consulte este texto de 2007 y esta pregunta en StackOverflow ).

El bloqueo de aviso se implementa en el espacio de usuario mediante programas como flock. Este tipo de bloqueo de archivos requiere que los procesos cooperen , lo que significa que deberán solicitar explícitamente acceso de lectura o escritura al archivo de bloqueo. Al mismo tiempo, un proceso no cooperativo aún puede ignorar el mecanismo de bloqueo.

La pregunta " Flock no parece estar funcionando " es sobre el bloqueo de aviso usando flocken el shell.

Ver también:¿Qué comandos de Unix se pueden usar como semáforo/bloqueo?(esto también se trata de bloqueo de aviso, y algunas respuestas usan mkdirpara este propósito, ya que es una operación atómica ).

0
20.02.2019, 11:14
1 ответ

Неважно, я просто тупой. Я думаю, что он работал с использованием неправильного bash, поэтому [[не был распознан.

Добавление #!/bin/bashшебанга, похоже, исправило ситуацию.

Я просто забыл, что >>перенаправляет только stdoutи не смог найти никаких ошибок из-за этого.

0
28.04.2021, 23:36

Теги

Похожие вопросы