Belle II Software
release-08-01-10
removeshm.cc
1
/**************************************************************************
2
* basf2 (Belle II Analysis Software Framework) *
3
* Author: The Belle II Collaboration *
4
* *
5
* See git log for contributors and copyright holders. *
6
* This file is licensed under LGPL-3.0, see LICENSE.md. *
7
**************************************************************************/
8
9
#include <string>
10
11
#include <stdio.h>
12
#include <stdlib.h>
13
#include <unistd.h>
14
15
#include <sys/ipc.h>
16
#include <sys/shm.h>
17
18
using namespace
std;
19
20
int
main
(
int
argc,
char
** argv)
21
{
22
if
(argc < 2) {
23
printf(
"remove : shmname \n"
);
24
exit(-1);
25
}
26
string
pathname = string(
"/tmp/"
) + string(getenv(
"USER"
))
27
+ string(
"_SHM_"
) + string(argv[1]);
28
FILE* fd = fopen(pathname.c_str(),
"r"
);
29
if
(fd == NULL) {
30
printf(
"[removeshm] No such RingBuffer : %s\n"
, argv[1]);
31
exit(-1);
32
}
33
int
shmid;
34
fscanf(fd,
"%d"
, &shmid);
35
fclose(fd);
36
37
printf(
"Removing shmid = %d\n"
, shmid);
38
shmctl(shmid, IPC_RMID, (
struct
shmid_ds*) 0);
39
printf(
"Removing pathfile = %s\n"
, pathname.c_str());
40
unlink(pathname.c_str());
41
42
// remove id file
43
char
fname[1024];
44
sprintf(fname,
"/tmp/SHM%d-SEM0-SHM_%s"
, shmid, argv[1]);
45
unlink(fname);
46
}
47
48
49
main
int main(int argc, char **argv)
Run all tests.
Definition:
test_main.cc:91
daq
rfarm
manager
tools
removeshm.cc
Generated on Mon Sep 23 2024 14:01:18 for Belle II Software by
1.9.1