sem_unlink man page

sem_unlink ā€” remove a named semaphore


#include <semaphore.h>

int sem_unlink(const char *name);

Link with -pthread.


sem_unlink() removes the named semaphore referred to by name. The semaphore name is removed immediately. The semaphore is destroyed once all other processes that have the semaphore open close it.

Return Value

On success sem_unlink() returns 0; on error, -1 is returned, with errno set to indicate the error.



The caller does not have permission to unlink this semaphore.


name was too long.


There is no semaphore with the given name.


For an explanation of the terms used in this section, see attributes(7).

Interface Attribute Value
sem_unlink() Thread safety MT-Safe

Conforming to

POSIX.1-2001, POSIX.1-2008.

See Also

sem_getvalue(3), sem_open(3), sem_post(3), sem_wait(3), sem_overview(7)


This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at

Referenced By

sem_close(3), sem_open(3), sem_overview(7).

2015-08-08 Linux Programmer's Manual