Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
System Programming Essentials with Go

You're reading from   System Programming Essentials with Go System calls, networking, efficiency, and security practices with practical projects in Golang

Arrow left icon
Product type Paperback
Published in Jun 2024
Publisher Packt
ISBN-13 9781837634132
Length 408 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Alex Rios Alex Rios
Author Profile Icon Alex Rios
Alex Rios
Arrow right icon
View More author details
Toc

Table of Contents (24) Chapters Close

Preface 1. Part 1: Introduction FREE CHAPTER
2. Chapter 1: Why Go? 3. Chapter 2: Refreshing Concurrency and Parallelism 4. Part 2: Interaction with the OS
5. Chapter 3: Understanding System Calls 6. Chapter 4: File and Directory Operations 7. Chapter 5: Working with System Events 8. Chapter 6: Understanding Pipes in Inter-Process Communication 9. Chapter 7: Unix Sockets 10. Part 3: Performance
11. Chapter 8: Memory Management 12. Chapter 9: Analyzing Performance 13. Part 4: Connected Apps
14. Chapter 10: Networking 15. Chapter 11: Telemetry 16. Chapter 12: Distributing Your Apps 17. Part 5: Going Beyond
18. Chapter 13: Capstone Project – Distributed Cache 19. Chapter 14: Effective Coding Practices 20. Chapter 15: Stay Sharp with System Programming 21. Index 22. Other Books You May Enjoy Appendix : Hardware Automation

Everyday system calls

Several syscalls are happening in our programs every time under our noses. We can trace these calls using the strace tool.

Tracing system calls

The strace tool might not come pre-installed on all Linux distributions, but it’s available in most official repositories. Here’s how to install it on some major distributions.

Debian (using APT): Run the following command:

apt-get install strace -y

Red Hat family (using DNF and YUM)

  • When using yum, run the following command:
    yum install strace
  • When using dnf, run this command:
    dnf install strace

Arch Linux (using Pacman): Run the following command:

pacman -S strace

Basic strace usage

The basic way to use strace is by calling the strace utility followed by the program’s name; for example:

strace ls

This will produce an output showing system calls, their arguments, and return values. For instance, the execve system call (https://man7.org/linux/man-pages/man2...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image