Articles of posix

Funções executadas automaticamente ao carregar bibliotecas compartilhadas

Ao carregar bibliotecas compartilhadas no Windows, a chamada LoadLibrary() faz com que DllMain na biblioteca seja executado para cada novo processo e a biblioteca de encadeamentos é anexada a cada deattaches da biblioteca de processos e encadeamentos. Existe mecanismo semelhante para o Mac OS X, Linux e possivelmente outros sistemas operacionais compatíveis com POSIX?

Chamada de API POSIX para listar todos os pthreads em execução em um processo

Eu tenho um aplicativo multi-threaded em um ambiente POSIX / Linux – Eu não tenho controle sobre o código que cria os pthreads. Em algum momento, o processo – proprietário dos pthreads – recebe um sinal. O manipulador desse sinal deve abortar, cancelar ou parar todos os pthreads e registrar quantos pthreads estão sendo executados. […]

Faixa de valor de retorno da function principal

O que o padrão diz sobre os principais valores de retorno? Diga apenas até 255? Porque int main(void){ return 256; } echo $? ; # out 0

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 […]