Articles of posix

Atomicidade de `write (2)` em um sistema de arquivos local

Aparentemente POSIX afirma que Um descritor de arquivo ou um stream é chamado de “identificador” na descrição do arquivo aberto a que se refere; uma descrição de arquivo aberto pode ter várias alças. […] Toda a atividade do aplicativo que afeta o deslocamento do arquivo no primeiro identificador será suspensa até que ele se torne […]

Linux 3.0: Executando o processo filho com stdin / stdout canalizado

Sob o Linux 3.0 / C ++: Eu gostaria de uma function que faz o seguinte: string f(string s) { string r = system(“foo < s"); return r; } Obviamente, o acima não funciona, mas você começa a idéia. Eu tenho uma string s que eu gostaria de passar como a input padrão de uma […]

É possível renomear um arquivo atômico (com sobrescrever) no Windows?

Nos sistemas POSIX, renomear (2) fornece uma operação de renomeação atômica, incluindo sobrescrever o arquivo de destino se ele existir e se as permissions permitirem. Existe alguma maneira de obter a mesma semântica no Windows? Eu sei sobre MoveFileTransacted () no Vista e Server 2008, mas eu preciso disso para suportar Win2k e para cima. […]

Qual é o propósito de “&&” em um comando shell?

Tanto quanto eu sei, usando & após o comando é para executá-lo em segundo plano. Exemplo de & usage: tar -czf file.tar.gz dirname & Mas e quanto ao && ? (veja este exemplo: https://serverfault.com/questions/215179/centos-100-disk-full-how-to-remove-log-files-history-etc#answer-215188 )

O arquivo é anexado atômico no UNIX?

Em geral, o que podemos ter como certo quando acrescentamos a um arquivo no UNIX a partir de múltiplos processos? É possível perder dados (um processo sobrescrevendo as alterações do outro)? É possível que os dados sejam desconfigurados? (Por exemplo, cada processo está anexando uma linha por acréscimo a um arquivo de log, é possível […]

Qual é o equivalente a Posix popen () na API do Win32?

Existe um equivalente aproximado à function stdio.h popen () do Linux / Unix na API do Win32? Se sim, onde posso encontrá-lo? Edit: Eu preciso saber isso para corrigir uma omissão na biblioteca padrão D. Qualquer resposta deve usar apenas a API Win32 padrão, sem funções específicas do MSVC. Além disso, prefiro algo que não […]

Quando devo usar o mmap para access a arquivos?

Ambientes POSIX fornecem pelo menos duas maneiras de acessar arquivos. Há o sistema padrão chama open() , read() , write() e amigos, mas também há a opção de usar o mmap() para mapear o arquivo na memory virtual. Quando é preferível usar um sobre o outro? Quais são suas vantagens individuais que merecem include duas […]

Como construir um c + + fstream a partir de um descritor de arquivo POSIX?

Estou basicamente procurando por uma versão C ++ de fdopen (). Eu fiz um pouco de pesquisa sobre isso e é uma daquelas coisas que parece que deve ser fácil, mas acaba por ser muito complicado. Estou faltando alguma coisa nessa crença (ou seja, é realmente fácil)? Se não, há uma boa biblioteca em algum […]

Qual é a diferença entre sigaction e signal?

Eu estava prestes a adicionar um manipulador de sinal extra para um aplicativo que temos aqui e notei que o autor tinha usado sigaction para configurar os outros manipuladores de sinal. Eu ia usar sinal. Para seguir a convenção, eu deveria usar sigaction, mas se eu estivesse escrevendo do zero, o que devo escolher?

Verifique se existe um diretório em um script de shell

Qual comando pode ser usado para verificar se um diretório existe ou não, dentro de um script de shell?